GridView多层嵌套,但找不到第三层
如下表,设备类型,品牌,型号,是三层关系,页面用GridView多层嵌套来表现这种关系
Create table Dictionary
(
DicID int identity(1,1),
ParentID int ,
DicName Varchar(100)
)
insert into Dictionary select 0,'设备类型'
--设备类型
insert into Dictionary select 1,'微机'
insert into Dictionary select 1,'服务器'
insert into Dictionary select 1,'笔记本'
insert into Dictionary select 1,'打印机'
insert into Dictionary select 1,'扫描仪'
insert into Dictionary select 1,'其他'
--品牌
insert into Dictionary select (select dicID from Dictionary where DicName='微机'),'长城'
insert into Dictionary select (select dicID from Dictionary where DicName='微机'),'联想'
insert into Dictionary select (select dicID from Dictionary where DicName='微机'),'IBM'
insert into Dictionary select (select dicID from Dictionary where DicName='微机'),'HP'
insert into Dictionary select (select dicID from Dictionary where DicName='微机'),'明基'
insert into Dictionary select (select dicID from Dictionary where DicName='服务器'),'IBM'
insert into Dictionary select (select dicID from Dictionary where DicName='服务器'),'HP'
insert into Dictionary select (select dicID from Dictionary where DicName='笔记本'),'长城'
insert into Dictionary select (select dicID from Dictionary where DicName='笔记本'),'联想'
insert into Dictionary select (select dicID from Dictionary where DicName='笔记本'),'IBM'
insert into Dictionary select (select dicID from Dictionary where DicName='笔记本'),'HP'
insert into Dictionary select (select dicID from Dictionary where DicName='笔记本'),'明基'
insert into Dictionary select (select dicID from Dictionary where DicName='打印机'),'打印机'
--型号
insert into Dictionary select (select dicID from Dictionary where DicName='长城' and ParentID =(select dicID from Dictionary where DicName='微机' )),'开天123'
insert into Dictionary select (select dicID from Dictionary where DicName='长城' and ParentID =(select dicID from Dictionary where DicName='微机' )),'开天456'
insert into Dictionary select (select dicID from Dictionary where DicName='长城' and ParentID =(select dicID from Dictionary where DicName='微机' )),'开天789'
前台:
<asp:GridView ID="ParentGridView" BorderColor="Black" OnRowDataBound="ParentGridView_RowDataBound" runat="server" AutoGenerateColumns="False" Font-Size="12px" Width="530px" AllowSorting="True" OnRowEditing="ParentGridView_RowEditing" OnRowCancelingEdit="ParentGridView_RowCancelingEdit">
<Columns>
<asp:BoundField DataField="DicID" HeaderText="编号" ReadOnly="True"/>
<asp:BoundField DataField="DicName" HeaderText="设备类型" ReadOnly="True" />
<asp:TemplateField HeaderText="查看详情">
<ItemTemplate>
<asp:Button ID="ViewChild_Button" runat="server" Text="Details" CommandName="Edit" />
</ItemTemplate>
<EditItemTemplate>
<asp:Button ID="CancelChild_Button" runat="server" Text="Cancel" CommandName="Cancel" />
<asp:GridView ID="ChildGridView" runat="server" AllowPaging="True" PageSize="3" AutoGenerateColumns="False" OnRowEditing= "ChildGridView_OnRowEditing" BorderColor="Black" OnRowDataBound="ChildGridView_RowDataBound" DataKeyNames="DicID" Width="241px" >
<Columns>
<asp:BoundField DataField="DicName" HeaderText="品牌" ReadOnly="True" SortExpression="DicName" />
<asp:TemplateField HeaderText="查看详情">
<ItemTemplate>
<asp:Button ID="ViewGrantChild_Button" runat="server" Text="Details" CommandName="Edit" />
</ItemTemplate>
<EditItemTemplate>
<asp:Button ID="CancelGrantChild_Button" runat="server" Text="Cancel" CommandName="Cancel" />
<asp:GridView ID="GrantChildGridView" runat="server" AllowPaging="True" PageSize="3" AutoGenerateColumns="False" BorderColor="Black" DataKeyNames="DicID" Width="331px" >
<Columns>
<asp:BoundField DataField="DicName" HeaderText="型号" ReadOnly="true" SortExpression="DicName" ItemStyle-Width="100px" />
</Columns>
<HeaderStyle BackColor="Azure" Font-Size="12px" HorizontalAlign="Center" />
<RowStyle HorizontalAlign="Center" />
<PagerStyle HorizontalAlign="Center" />
</asp:GridView>
</EditItemTemplate>
</asp:TemplateField>
</Columns>
<HeaderStyle BackColor="Azure" Font-Size="12px" HorizontalAlign="Center" />
<RowStyle HorizontalAlign="Center" />
<PagerStyle HorizontalAlign="Center" />
</asp:GridView>
</EditItemTemplate>
</asp:TemplateField>
</Columns>
<HeaderStyle BackColor="Azure" Font-Size="12px" HorizontalAlign="Center" />
<RowStyle HorizontalAlign="Center" />
<PagerStyle HorizontalAlign="Center" />
</asp:GridView>