Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Программное создание шаблонов в элементе управления DataGrid / 9 сообщений из 9, страница 1 из 1
23.11.2005, 12:14
    #33394387
alneo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программное создание шаблонов в элементе управления DataGrid
Программное создание шаблонов в элементе управления DataGrid.
Что я делаю не так? почему у меня не рабоате? Может я чего то не понимаю?
Помогите создать в run-time колонки!!!

http://msdn.microsoft.com/library/rus/default.asp?url=/library/rus/vbcon/html/vbtskcreatingtemplatesprogrammaticallyindatagridcontrol.asp

TemplateColumn tc2 = new TemplateColumn();
tc2.ItemTemplate = new DataGridTemplate(ListItemType.Item, "CI");//Resname);
tc2.HeaderTemplate = new DataGridTemplate(ListItemType.Header, "CI");//Resname);
tc2.EditItemTemplate = new DataGridTemplate(ListItemType.EditItem, "CI");//, Resname);
tc2.FooterTemplate = new DataGridTemplate(ListItemType.Footer, "CI");//Resname);
tc2.SortExpression = "CI";
DataGrid1.Columns.Add(tc2);
------
Adapter.Fill()
DataGrid1.DataBind();
...
Рейтинг: 0 / 0
23.11.2005, 13:41
    #33394690
profil
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программное создание шаблонов в элементе управления DataGrid
а что не работает-то? какое исключение возникает?

из приведенного фрагмента не понятно, DataGridTemplate создан или нет?
и тем более не понятно, зачем вообще городить TemplateColumn?!
может вполне достаточно использовать BoundColumn?
...
Рейтинг: 0 / 0
23.11.2005, 14:20
    #33394783
alneo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программное создание шаблонов в элементе управления DataGrid
в зависимости от введённых параметров процедцра возращает каждый раз различные поля, то есть для одно вида производства один набор полей, для 2 -другой.
Все экземпляры объектов созданы, никакой ошибки не возникает, просто вместо данных грида отображает название колонки. Интересно было бы найти ещё и пример и микрософта.
...
Рейтинг: 0 / 0
23.11.2005, 14:23
    #33394802
gybson
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программное создание шаблонов в элементе управления DataGrid
Я делал так


// Процедура динамического создания колонок
TemplateColumn tc = new TemplateColumn();
tc.HeaderText = coldescr.name;
tc.ItemTemplate = new MyTemplateLabel("mylabel1");
tc.ItemStyle.Wrap = true;
DataGrid1.Columns.AddAt(DataGrid1.Columns.Count,tc);

...

Описание класса MyTemplateLabel

public class MyTemplateLabel:ITemplate
{
private string controlid = "dg_label1";

public MyTemplateLabel(string _controlid)
{
controlid = _controlid;
}

#region ITemplate Members
public void InstantiateIn(Control container)
{
System.Web.UI.WebControls.Label tb = new Label();
//tb.ID = controlid;
tb.EnableViewState = false;
container.Controls.Add(tb);
}
#endregion

}

Работает
...
Рейтинг: 0 / 0
23.11.2005, 17:05
    #33395376
alneo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программное создание шаблонов в элементе управления DataGrid
я так подозреваю что у меня неправильно реализован класс
и я пока не могу отследить как отрабатывают
DataField="NL" SortExpression="NL"
...
Рейтинг: 0 / 0
23.11.2005, 18:42
    #33395636
profil
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программное создание шаблонов в элементе управления DataGrid
ссылка на примеры по сабжу: /topic/139409

я так и не понял, зачем использовать TemplateColumn?
при Вашей постановке, где ни чего не говориться об экстаординарном стиле представлениия данных, достаточно использовать BoundColumn

как-то так:
Код: plaintext
BoundColumn bc = new BoundColumn();\nbc.DataField = "CI";\nbc.SortExpression = "CI";\nDataGrid1.Columns.Add(bc);
...
Рейтинг: 0 / 0
24.11.2005, 08:50
    #33396191
gybson
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программное создание шаблонов в элементе управления DataGrid
На мой взгляд это надо только в одном случае, когда, например, надо сделать колонку полностью из EditBox и при том добавить ее динамически
...
Рейтинг: 0 / 0
24.11.2005, 09:25
    #33396248
alneo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программное создание шаблонов в элементе управления DataGrid
совершенно верно. Колонки могут быть и EditBox и DropDownList и обычными лейблами. А ещё нужно их сортировать, то есть полный фарш. Данные получаю в виде курсора из хранимой процедуры (Oracle 8i)
...
Рейтинг: 0 / 0
24.11.2005, 10:20
    #33396384
gybson
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программное создание шаблонов в элементе управления DataGrid
Тогда мой вариант Вам подойдет. Я делал редактирование таблицы с переменным количеством колонок (разные виды товаров, разные типы тендеров ит.п.). В каждой колонке могут быть разные элементы редактирования.

ICQ: 65510765
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Программное создание шаблонов в элементе управления DataGrid / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]