如何对Datatable行分组
在aspx页面写了<asp:GridView ID="GridView1" run="Server"></asp:Gridview>然后CS页面写了一个protected Datatable BindGrid()的方法,然后与GridView进入绑定之后,按F5运行成功,生成的结果是:
DetpName MemberName
软体研发一部一课 AAA
软体研发一部一课 BBB
软体研发一部一课 CCC
软体研发一部二课 DDD
软体研发一部二课 EEE
软体研发二部一课 FFF
软体研发二部一课 GGG
软体研发三部一课 HHH
请问我该如何写代码对Datatable进行分组生成结果如下:[b][/b]
部门:软体研发一部一课
AAA
BBB
CCC
部门:软体研发一部二课
DDD
EEE
部门:软体研发二部一课
FFF
GGG
部门:软体研发三部一课
HHH
[解决办法]
可以用两个gridview嵌套,外面的绑定distinct DetpName ,里面根据DetpName绑定对应的MemberName。
[解决办法]
已经回了
- C# code
DataTable dt = new DataTable(); dt.Columns.Add("DetpName", typeof(string)); dt.Columns.Add("MemberName", typeof(string)); DataRow dr1 = dt.NewRow(); dr1["DetpName"] = "软体研发一部一课"; dr1["MemberName"] = "AAA"; dt.Rows.Add(dr1); DataRow dr2 = dt.NewRow(); dr2["DetpName"] = "软体研发一部一课"; dr2["MemberName"] = "BBB"; dt.Rows.Add(dr2); DataRow dr3 = dt.NewRow(); dr3["DetpName"] = "软体研发一部一课"; dr3["MemberName"] = "CCC"; dt.Rows.Add(dr3); DataRow dr4 = dt.NewRow(); dr4["DetpName"] = "软体研发一部二课"; dr4["MemberName"] = "DDD"; dt.Rows.Add(dr4); DataRow dr5 = dt.NewRow(); dr5["DetpName"] = "软体研发一部二课"; dr5["MemberName"] = "EEE"; dt.Rows.Add(dr5); DataRow dr6 = dt.NewRow(); dr6["DetpName"] = "软体研发二部一课"; dr6["MemberName"] = "FFF"; dt.Rows.Add(dr6); DataRow dr7 = dt.NewRow(); dr7["DetpName"] = "软体研发二部一课"; dr7["MemberName"] = "GGG"; dt.Rows.Add(dr7); DataRow dr8 = dt.NewRow(); dr8["DetpName"] = "软体研发三部一课"; dr8["MemberName"] = "HHH"; dt.Rows.Add(dr8); dataGridView1.DataSource = dt; DataRow[] d1 = dt.Select("DetpName='软体研发一部一课'"); DataRow[] d2 = dt.Select("DetpName='软体研发一部二课'"); DataRow[] d3 = dt.Select("DetpName='软体研发二部一课'"); DataRow[] d4 = dt.Select("DetpName='软体研发三部一课'");
[解决办法]
楼主,另一边的帖子我也看了
可以肯定的告诉你,除了1楼那个mvp,其他人的回答你根本不用看,根本没理解你的意思胡乱作答。当然,你自己问问题也存在很大问题
mvp就是不一样
[解决办法]
- HTML code
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" onrowdatabound="GridView1_RowDataBound"> <Columns> <asp:TemplateField HeaderText="序号"> <ItemTemplate> <%#Container.DataItemIndex+1 %> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="部门"> <ItemTemplate> <asp:Label ID="lblDept" runat="server" Text='<%#Eval("DetpName")%>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="成员"> <ItemTemplate> <asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="false" ShowHeader="False"> <Columns> <asp:TemplateField> <ItemTemplate> <%#Eval("MemberName")%> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView>