首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

怎么对Datatable進行分组

2012-03-25 
如何对Datatable進行分组在aspx页面写了asp:GridView IDGridView1 runServer/asp:Gridview然后C

如何对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> 

热点排行