multi - niveau datagrid

, emil indradjaja mcp, 27, 2005 http://www.i-sources.net/?betragtning = blog & blog_id = 355647310 i mine erfaringer bygning. net med datagrid, nogle gange har jeg brug for at skabe flere datagrid for let - og adgang.at opnå, at jeg ' d gøre følgende skridt:,,, opbygge en forælder data net. følgende kode viser en enkelt datagrid, der viser region fra nortwind database. private tomrum page_load (objekt afsender, system.eventargs e) (hvis (!side. ispostback) (denne. filldatastore(); dette. drawparentgrid();}}, private tomrum filldatastore() {mydataset = nye dataset();, snor sql = " udvælge * fra region, for regiondescription " sqldataadapter da = nye sqldataadapter (sql, det her. sqlconnection1); da. fyld (mydataset, og quot; region "); sql = " udvælge * fra ansatte " sqldataadapter da1 = nye sqldataadapter (sql, det her. sqlconnection1); da. fyld (mydataset, " arbejdstagere ")}, private tomrum drawparentgrid() {dataview dv = nye dataview (mydataset. tabeller [0]). dgregion. datasource = dv; dette. dgregion. databind();,, kode ganske enkelt udfylde den mydataset med indhold af regionen og ansatte og befolke datasættet i dgregion i den første gennemførelse af side.The above code produces the following output: , ,,For the sake of this article, we are going to add DataGrid for the employee (so called dgEmp) inside the item template of dgRegion as shown below: , <asp:datagrid id="dgRegion" runat="server" BorderColor="silver" Font-Size="XX-Small" AutoGenerateColumns="False",Font-Names="Verdana" CellPadding="2" GridLines="Horizontal" HorizontalAlign="Center" BackColor="White",Width="100%">, <AlternatingItemStyle BackColor="#FFFF80"></AlternatingItemStyle>,<HeaderStyle Font-Bold="True" BackColor="WhiteSmoke"></HeaderStyle>,<Columns>, <asp:TemplateColumn HeaderText="Region ID">, <HeaderStyle Width="100px"></HeaderStyle>, <ItemTemplate>, <asp:Label id=inpRegionId runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.RegionId") %>' Visible="True">, </asp:Label>, </ItemTemplate>, <ItemStyle VerticalAlign=Top></ItemStyle>, </asp:TemplateColumn>, ..., ...,,<asp:TemplateColumn HeaderText="Other">, <HeaderStyle Width="130px"></HeaderStyle>, <ItemTemplate>, <asp:datagrid id="dgEmp" runat="server" BorderColor="silver" Font-Size="XX-Small" AutoGenerateColumns="False", Font-Names="Verdana" CellPadding="2" GridLines="Horizontal" HorizontalAlign="Center" BackColor=#ffffcc, Width="100%" Visible=False>, <AlternatingItemStyle BackColor=#ffffcc></AlternatingItemStyle>, <HeaderStyle Font-Bold="True" BackColor="WhiteSmoke"></HeaderStyle>, <Columns>, <asp:TemplateColumn HeaderText="Employee Statistic">,, <HeaderTemplate>, <table width=100%>, <tr>, <td width=150 align=center>Employee Name</td>, <td width=100 align=center>Total Sales</td>, </tr>, </table>, </HeaderTemplate>, <ItemTemplate>, <table width=100%>, <tr>, <td width=150>, <asp:Label id="Label1" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.FirstName") + " " + DataBinder.Eval(Container, "DataItem.LastName") %>' Visible="True">, </asp:Label>, </td>, <td width=100 align=right><asp:Label Visible=False id="lblEmployeeId" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.EmployeeID") %>'>, </asp:Label>, <asp:Label id="lblTotalCust" runat="server" Visible=True>, </asp:Label>, </td>, </tr>, </table>, </ItemTemplate>, </asp:TemplateColumn>, </Columns>, </asp:datagrid>, </ItemTemplate>,</asp:TemplateColumn>,,...,<asp:TemplateColumn>,<HeaderStyle Width="100px"></HeaderStyle>,<ItemStyle VerticalAlign=Top></ItemStyle>,<ItemTemplate>, <asp:LinkButton id="Linkbutton1" runat="server" Text="View Employees" CausesValidation="false" CommandName="Select">View Employees</asp:LinkButton>,</ItemTemplate>,</asp:TemplateColumn>,</Columns>,</asp:datagrid>,,,, , , ,,Wire the parent and child event., ,To makdet arbejde, vi skal lave nogle ændringer i kode bag på siden. først skal vi ledninger til begivenhed for de stiftende datagrid som vist nedenfor:,,, vi vil overføre forælder datagrid for itemcreated begivenhed, og itemdatabound begivenhed.,,, i tilfælde af moderselskabet itemcreated datagrid, vi finder det dgemp og tilføje en itemdatabound begivenhed til den.og, i tilfælde af moderselskabet itemdatabound datagrid, finder vi det dgemp og binder sig til dataview, der svarer til hver arbejdstager.,,, tilføje begivenhed i barnet datagrid.,, den sidste ting at gøre, er at tilføje en begivenhed, at barnet datagrid som vist på kode nedenfor:,,, som de kan se, er den funktion, frem for bare få medarbejder - id og beregne den samlede salg fra for tabel i northwind database.resultatet af koden er vist nedenfor:,,, glad programmering.,,,

1-1
1-3-1
1-3
1-4
1-5



Previous:
Next Page: