Одобрено: Fortect
Если у вас есть воспроизведение Datagrid-Add-Template-Column в вашей системе, эта статья должна вам помочь.
- Скачать демонстрационный проект – 20,2 КБ
Презентация
Вот код, с помощью которого вы можете создать DataGrid
со столбцами шаблона со всеми типами шаблонов ( ItemTemplate
, EditItemTemplate
, HeaderTemplate
, FooterTemplate
), а также надежно связывают шаблоны, которые будут содержать данные.
Создание динамической сетки с защищенными столбцами и даже столбцами с кнопками неизменно легко, но с шаблонными столбцами действительно довольно сложно. Вот элегантный ответ на то же самое. 🙂
- Создайте сетку и, соответственно, объявите столбцы.
- Для создания шаблонов файл уточнения должен быть получен из
ITemplate
. - Добавьте каждый столбец в сетку.
- Создавайте мероприятия.
- Вы заполняете всю сетку.
- Напишите код для содержимого из ссылки данных
ItemDataBound
, в которой происходит событие. - Сделай это! А
Создать сетку и объявить столбцы:
Как создать DataGrid со столбцами шаблона?
Вот код, в котором вы легко создаете среду выполнения DataGrid со столбцами шаблона со всеми метками шаблона (ItemTemplate, EditItemTemplate, HeaderTemplate, FooterTemplate), а затем привязываете шаблоны к числам. Динамическое создание мощностей со связанным контентом и даже столбцами ссылок несложно, но чрезвычайно сложно со статьями шаблонов.
<для>dgRt.ID = “dgRt1”;dgRt.AutoGenerateColumns = true;dgRt.AllowPaging равно true;dgRt.ShowFooter = true;dgRt.ShowHeader = true;Объявить столбцы:BoundColumn bcl1 New означает BoundColumn ();TemplateColumn tcl1 New = TemplateColumn ();TemplateColumn tcl2 New = TemplateColumn ();TemplateColumn tcl3 New = TemplateColumn ();TemplateColumn tcl4 New = TemplateColumn ();TemplateColumn tcl5 New означает TemplateColumn ();TemplateColumn tcl6 New = TemplateColumn ();TemplateColumn tcl7 New = TemplateColumn ();TemplateColumn tcl8 New = TemplateColumn ();TemplateColumn tcl9 New = TemplateColumn ();TemplateColumn tcl10 New = TemplateColumn ();TemplateColumn tcl11 New = TemplateColumn ();EditCommandColumn ecol1 = новый EditCommandColumn ();
Файл класса, унаследованный от ITemplate для создания шаблонов:
Вы должны написать отдельный файл класса, который наследуется от интерфейса ITemplate
, чтобы иметь возможность создавать шаблоны в обычном режиме. Нам нужно создать метод InstantiateIn
, который требуется для этого наследования Itemplate
. Это поможет вам и вашей семье образовать запланированную вами колонку с определенным контролем над тем, что нужно добавить к ней. Создать событие Элемент управления был создан для привязки данных
, и полностью указаны действия, которые необходимо выполнить над ним.
Здесь я пишу код для создания мощного столбца EditItemTemplate
с полем со списком, и даже во вложенном коде есть много классов для элементов управления, таких как TextBox
, CheckBox
, LinkButton
, PushButton
и многие другие …
<для>открытый класс CreateItemTemplateDDL: табличка с услугами или продуктами{ Таблица данных DtBind; strddlName string; String strDataValueField; строка strDataTextField;
Что означает datagridtemplatecolumn класс делать?
Относительно получает возможность установить точное положение отображения потока, чтобы упростить переход к еще нескольким столбцам в DataGrid. Возвращает или задает этот стиль, который будет выполняться при доступе к заголовку lewis. Получает или задает содержимое, связанное с заголовком столбца. Получает или задает этот шаблон структуры для применения к содержимому заголовка столбца.
Здесь я добавил этот тщательно подобранный конструктор для создания DDL с элементами Advantage и Text.
<для>общедоступный CreateItemTemplateDDL (строка DDLName, Коллекция DataValueField, строка DataTextField, DataTable DDLSource) Это .dtBind соответствует DDLSource; this.strDataValueField = DataValueField; this.strDataTextField означает DataTextField; this.strddlName = DDLName;
Обычно это код для отображения празднования DataBinding
, добавляемого в DDL. Это происходит во время привязки DataGrid
.
<для>Публично обходить InstantiateIn (Control objContainer) DropDownList ddl соответствует вам newDropDownList (); ddl.DataBinding + = обработчик новой гонки (ddl_DataBinding); objContainer.Controls.Add (ddl);
Одобрено: Fortect
Fortect — самый популярный и эффективный в мире инструмент для ремонта ПК. Миллионы людей доверяют ему обеспечение быстрой, бесперебойной и безошибочной работы своих систем. Благодаря простому пользовательскому интерфейсу и мощному механизму сканирования Fortect быстро находит и устраняет широкий спектр проблем Windows — от нестабильности системы и проблем с безопасностью до проблем с управлением памятью и производительностью.
а>
Ваша существующая семья может назначить здесь все свойства и все необходимое для DDL.
<для>private voidDdl _DataBinding (объект электронной почты, EventArgs e) DropDownListDdl равен emailer (DropDownList); Ddl .ID = strddlName; ddl.DataSource означает dtBind; ddl.DataValueField = strDataValueField; ddl.DataTextField означает strDataTextField;
Другие налоговые скобки, вероятно, будут доступны для загрузки. Вы должны одновременно добавить указанные классы в вызов datagrid
.
<для>tcl7.ItemTemplate = new Вы создаете свой собственный шаблон элемента (“ddlgrid”, “id”, “username”, dt);
купите лишний DDL для ItemTemplate
здесь. Иногда вы можете сделать то же самое, даже если вам и вашей семье нужен DDL в EditITemTemplate
, действительно нравится footertemplate
, а также в HeaderTemplate
. Все
Добавить столбцы в сетку:
<для>dgRt.Columns.Add (tcl1);dgRt.Columns.Add (tcl2);dgRt.Columns.Add (tcl3);dgRt.Columns.Add (tcl4);dgRt.Columns.Add (tcl5);dgRt.Columns.Add (tcl6);dgRt.Columns.Add (tcl7);dgRt.Columns.Add (tcl8);dgRt.Columns.Add (tcl9);dgRt.Columns.Add (tcl11);dgRt.Columns.Add (ecol1);dgRt.Columns.Add (bcl1);
Здесь вы добавили большинство сообщений в сетку.
Создание событий:
Как добавить содержимое в DataGrid во время выполнения?
Как я могу добавить несколько столбцов в сетку данных во время выполнения, соответственно, чтобы количество столбцов и значение заголовков принималось пользователем в учениях с текстовым полем, и в зависимости от заряда текстового поля сетка данных должна быть отправлена столбцы и значение заголовка? …
Если после рисования сетки вы хотите, чтобы у вас были какие-то события для нее, скажем, вы хотите привязать сетку, вам нужно организовать <код > ItemDataBound в столбце, абсолютно необходимо последний пейджер, а затем иметь PagedindexChanged
.
<для>dgRt.ItemDataBound + = новый DataGridItemEventHandler (dgRt_ItemDataBound);dgRt.ItemCommand + = новый DataGridCommandEventHandler (dgRt_ItemCommand);dgRt.PageIndexChanged + подразумевает новый обработчик событий DataGridPageChangedEventHandler (dgRt_PageIndexChanged);dgRt.EditCommand + = порка нового DataGridCommandEventHandler (dgRt_EditCommand);dgRt.UpdateCommand + = новый DataGridCommandEventHandler (dgRt_UpdateCommand);dgRt.CancelCommand + означает новый DataGridCommandEventHandler (dgRt_CancelCommand);
Заполните сетку:
<для>частный ноль fillgrid () SqlConnection cn = новый SqlConnection (); SqlCommandCmd подразумевает новый SqlCommand (); Cmd.Connection = cn; cmd.CommandText подразумевает «выбрать * из SmpTable в порядке результата в сантиметрах»; DataSet ds = новый DataSet (); SqlDataAdapter adp = SqlDataAdapter (cmd); Необязательный cn.ConnectionString = «СЕРВЕР = ИМЯ СЕРВЕРА; БАЗА ДАННЫХ = TestProjekt; UID = abcd; PWD означает alskdjfh»; Пытаться cn.open (); адаптированная комплектация (дс); dgRt.DataSource = ds.Tables [0]; dgRt.DataBind (); cn.close (); найти (исключение ex) lblError.Text = “Произошла ошибка”;
Запишите код привязки данных, который отображается в столбцах события ItemDataBound:
<для>private void dgRt_ItemDataBound (отправитель объекта, DataGridItemEventArgs e)
Повысьте производительность вашего компьютера с помощью этой простой загрузки. г.