Многоуровневый элемент datagrid
Эмиль Indradjaja ГЦН, 27 мая 2005 http://www.i-sources.net/?view=blog & blog_id=355647310 р><р класса="step_content "> во время моего события .Сеть управления datagrid, иногда мне нужно создать многоуровневую datagrid для удобного просмотра и доступа. р><р класса="step_content ">для этого я ... #39 д сделать следующий шаг:р><р класса="step_content ">
- построить родительской таблице.р><р класса="step_content ">в следующем коде показан простой datagrid, который показывает области из базы Nortwind.р><р класса="step_content ">частный недействительными в(объект отправителя, система.Равно eventargs е){ если (!Страницы.IsPostBack) { это.FillDataStore() это.DrawParentGrid () } и
}
частные пустоту FillDataStore(){ MyDataSet = новый набор данных()
в строку SQL="выбрать * из области того, что на regionDescription" SqlDataAdapter да = новый SqlDataAdapter(SQL, это.sqlConnection1) да.Заполнить (MyDataSet, "регион") среда SQL = "выбрать * из сотрудников" SqlDataAdapter и da1 = новый SqlDataAdapter(SQL, это.sqlConnection1) да.Заполнить(MyDataSet, "сотрудники") }р><р класса="step_content ">частный недействительными DrawParentGrid(){ объект dataview дв = новый объект dataview(MyDataSet.Таблицы[0]) это.dgRegion.Источник данных=дв это.dgRegion.Метод databind()
с} р><р класса="step_content "> код просто заполнить MyDataSet с содержанием от региона и таблицы "сотрудники" и заполнить данные в dgRegion во время 1-й время выполнения страницы. Приведенный выше код выдает следующий результат: р><р класса="step_content ">
для целей данной статьи, мы собираемся добавить datagrid для работника (так называемый dgEmp) внутри элемента шаблона dgRegion как показано ниже: р><р класса="step_content "><АСП:элемент datagrid элемент ID="dgRegion" атрибут runat="сервер" необходимо="серебро" размер шрифта="ХХ-маленький" AutoGenerateColumns="false" - в том,
шрифт-имен="Вердана" CellPadding="2" сетки="горизонтальный" HorizontalAlign="Центр" фона="белый"и
Ширина="100%">р><р класса="step_content ">
<колонки>
<АСП:TemplateColumn HeaderText="ID области">
<свойства itemtemplate>
<АСП:метка идентификатора=inpRegionId атрибут runat="сервер" текст= & #39 <%# DataBinder.Ивала(Контейнер, "Элемента Данных.Либо") %> & #39 видимых="истинный">
В АСП: "метка" >
свойства itemtemplate>
В АСП:TemplateColumn>
...
...
<АСП:TemplateColumn HeaderText="другое">
<свойства itemtemplate>
<АСП:элемент datagrid элемент ID="dgEmp" атрибут runat="сервер" необходимо="серебро" размер шрифта="ХХ-маленький" AutoGenerateColumns="false" - в том,
шрифт-имен="Вердана" CellPadding="2" сетки="горизонтальный" HorizontalAlign="Центр" Цвет фона=#ffffcc
Ширина="100%"Видна=ложь>
<колонки>
<АСП:TemplateColumn HeaderText="работника статистики">сильные>
<Ширина таблицы=100%>
<тр>
<тд Ширина=150 выровнять=центр>Ф. и. о. работникатд>
<тд Ширина=100 выровнять=центр>Общий объем продажтд>
тр>
Таблица>
В
<свойства itemtemplate>
<Ширина таблицы=100%>
<тр>
<тд Ширина=150>
или & #39 видимых="истинный">
В АСП: "метка" >
тд>
<тд Ширина=100 выровнять=правая><с asp:метка видна=ложь идентификатор="lblEmployeeId" атрибут runat="сервер" текст= & #39 <%# DataBinder.Ивала(Контейнер, "Элемента Данных.Кодсотрудника") %> & #39 >и
АСП: "метка" >
В АСП: "метка" >
тд>
тр>
Таблица>
свойства itemtemplate>
В АСП:TemplateColumn>и
колонки>
свойства itemtemplate>
ВАСП:TemplateColumn>
с...
<АСП:TemplateColumn>
<свойства itemtemplate>
<АСП:LinkButton элемент ID="Linkbutton1" атрибут runat="сервер" текст="вид человек" CausesValidation="false" - в Имя_команды="выбор">Просмотр сотрудниковАСП:LinkButton>и
свойства itemtemplate>
ВАСП:TemplateColumn>и
колонки>
ВАСП:элемент управления datagrid>
<Стронг>
сильные> <див класс='embed_block_0'> <див ИД="блок-google_admanager-1" класса="блок блок-google_admanager области-другие области-количество-1 Количество-1 блок-Без названия "> <див класс="блок-топ">див> <див класс="блок-внутренний"> <див класс="содержание"> див> <див класс="блок-дна">див> див> див> див><див класс='embed_block_1'><див>див>див>- провода родителя и ребенка событие.р><р класса="step_content ">для того чтобы заставить это работать, нам нужно сделать несколько изменений в код страницы.р><р класса="step_content ">во-первых, мы должны провода на события для родительского элемента datagrid, как показано ниже: р><р класса="step_content ">р><р класса="step_content ">у нас будет провод родительский элемент datagrid для ItemCreated событие и событие ItemDataBound.р><р класса="step_content ">р><р класса="step_content ">внутри ItemCreated событие родительского элемента datagrid, мы находим dgEmp и добавить ItemDataBound событие к нему. И, в событии ItemDataBound родительского элемента datagrid, мы находим в dgEmp и привязать его к объект dataview, который соответствует каждому сотруднику. р><р класса="step_content ">
- Добавить событие в дочернем элементе управления datagrid.р><р класса="step_content ">последнее, что нужно сделать, это добавить событие для ребенка datagrid как показано на код ниже: р><р класса="step_content ">р><р класса="step_content ">как вы видите, функция выше просто получить идентификатор сотрудника и вычислить общий объем продаж из таблицы заказов в базе данных "Борей". Результат код показан ниже: р><р класса="step_content ">р><р класса="step_content ">счастливые программирования!
р><дел стиль= \ ясно:оба поплавка:нет'>дел><дел стиль= \ ясно:оба поплавка:нет'> & мочекаменная див>
Многоуровневый элемент datagrid
Многоуровневый элемент datagrid : Несколько тысяч советов, которые сделают вашу жизнь проще.
Эмиль Indradjaja ГЦН, 27 мая 2005 http://www.i-sources.net/?view=blog & blog_id=355647310 р><р класса="step_content "> во время моего события .Сеть управления datagrid, иногда мне нужно создать многоуровневую datagrid для удобного просмотра и доступа. р><р класса="step_content ">для этого я ... #39 д сделать следующий шаг:р><р класса="step_content ">
- построить родительской таблице.р><р класса="step_content ">в следующем коде показан простой datagrid, который показывает области из базы Nortwind.р><р класса="step_content ">частный недействительными в(объект отправителя, система.Равно eventargs е){ если (!Страницы.IsPostBack) { это.FillDataStore() это.DrawParentGrid () } и
}
частные пустоту FillDataStore(){ MyDataSet = новый набор данных()
в строку SQL="выбрать * из области того, что на regionDescription" SqlDataAdapter да = новый SqlDataAdapter(SQL, это.sqlConnection1) да.Заполнить (MyDataSet, "регион") среда SQL = "выбрать * из сотрудников" SqlDataAdapter и da1 = новый SqlDataAdapter(SQL, это.sqlConnection1) да.Заполнить(MyDataSet, "сотрудники") }р><р класса="step_content ">частный недействительными DrawParentGrid(){ объект dataview дв = новый объект dataview(MyDataSet.Таблицы[0]) это.dgRegion.Источник данных=дв это.dgRegion.Метод databind()
с} р><р класса="step_content "> код просто заполнить MyDataSet с содержанием от региона и таблицы "сотрудники" и заполнить данные в dgRegion во время 1-й время выполнения страницы. Приведенный выше код выдает следующий результат: р><р класса="step_content ">
для целей данной статьи, мы собираемся добавить datagrid для работника (так называемый dgEmp) внутри элемента шаблона dgRegion как показано ниже: р><р класса="step_content "><АСП:элемент datagrid элемент ID="dgRegion" атрибут runat="сервер" необходимо="серебро" размер шрифта="ХХ-маленький" AutoGenerateColumns="false" - в том,
шрифт-имен="Вердана" CellPadding="2" сетки="горизонтальный" HorizontalAlign="Центр" фона="белый"и
Ширина="100%">р><р класса="step_content ">
<колонки>
<АСП:TemplateColumn HeaderText="ID области">
<свойства itemtemplate>
<АСП:метка идентификатора=inpRegionId атрибут runat="сервер" текст= & #39 <%# DataBinder.Ивала(Контейнер, "Элемента Данных.Либо") %> & #39 видимых="истинный">
В АСП: "метка" >
свойства itemtemplate>
В АСП:TemplateColumn>
...
...
<АСП:TemplateColumn HeaderText="другое">
<свойства itemtemplate>
<АСП:элемент datagrid элемент ID="dgEmp" атрибут runat="сервер" необходимо="серебро" размер шрифта="ХХ-маленький" AutoGenerateColumns="false" - в том,
шрифт-имен="Вердана" CellPadding="2" сетки="горизонтальный" HorizontalAlign="Центр" Цвет фона=#ffffcc
Ширина="100%"Видна=ложь>
<колонки>
<АСП:TemplateColumn HeaderText="работника статистики">сильные>
<Ширина таблицы=100%>
<тр>
<тд Ширина=150 выровнять=центр>Ф. и. о. работникатд>
<тд Ширина=100 выровнять=центр>Общий объем продажтд>
тр>
Таблица>
В
<свойства itemtemplate>
<Ширина таблицы=100%>
<тр>
<тд Ширина=150>
или & #39 видимых="истинный">
В АСП: "метка" >
тд>
<тд Ширина=100 выровнять=правая><с asp:метка видна=ложь идентификатор="lblEmployeeId" атрибут runat="сервер" текст= & #39 <%# DataBinder.Ивала(Контейнер, "Элемента Данных.Кодсотрудника") %> & #39 >и
АСП: "метка" >
В АСП: "метка" >
тд>
тр>
Таблица>
свойства itemtemplate>
В АСП:TemplateColumn>и
колонки>
свойства itemtemplate>
ВАСП:TemplateColumn>
с...
<АСП:TemplateColumn>
<свойства itemtemplate>
<АСП:LinkButton элемент ID="Linkbutton1" атрибут runat="сервер" текст="вид человек" CausesValidation="false" - в Имя_команды="выбор">Просмотр сотрудниковАСП:LinkButton>и
свойства itemtemplate>
ВАСП:TemplateColumn>и
колонки>
ВАСП:элемент управления datagrid>
<Стронг>
сильные> <див класс='embed_block_0'> <див ИД="блок-google_admanager-1" класса="блок блок-google_admanager области-другие области-количество-1 Количество-1 блок-Без названия "> <див класс="блок-топ">див> <див класс="блок-внутренний"> <див класс="содержание"> див> <див класс="блок-дна">див> див> див> див><див класс='embed_block_1'><див>див>див>- провода родителя и ребенка событие.р><р класса="step_content ">для того чтобы заставить это работать, нам нужно сделать несколько изменений в код страницы.р><р класса="step_content ">во-первых, мы должны провода на события для родительского элемента datagrid, как показано ниже: р><р класса="step_content ">р><р класса="step_content ">у нас будет провод родительский элемент datagrid для ItemCreated событие и событие ItemDataBound.р><р класса="step_content ">р><р класса="step_content ">внутри ItemCreated событие родительского элемента datagrid, мы находим dgEmp и добавить ItemDataBound событие к нему. И, в событии ItemDataBound родительского элемента datagrid, мы находим в dgEmp и привязать его к объект dataview, который соответствует каждому сотруднику. р><р класса="step_content ">
- Добавить событие в дочернем элементе управления datagrid.р><р класса="step_content ">последнее, что нужно сделать, это добавить событие для ребенка datagrid как показано на код ниже: р><р класса="step_content ">р><р класса="step_content ">как вы видите, функция выше просто получить идентификатор сотрудника и вычислить общий объем продаж из таблицы заказов в базе данных "Борей". Результат код показан ниже: р><р класса="step_content ">р><р класса="step_content ">счастливые программирования!
р><дел стиль= \ ясно:оба поплавка:нет'>дел><дел стиль= \ ясно:оба поплавка:нет'> & мочекаменная див>
Многоуровневый элемент datagrid
By russiatips
Многоуровневый элемент datagrid : Несколько тысяч советов, которые сделают вашу жизнь проще.