按Gridview分组

时间:2014-01-29 08:04:24

标签: asp.net

我希望以下面提到的格式显示gridview中的记录:

ID     NAME     ADDRESS
1      A1       A111
2      A11      XX
3      A111     XXX
4      B12      XXXX
5      C12      X

请帮助解决此问题。

2 个答案:

答案 0 :(得分:0)

不是分组依据。只是在查询中使用Order By。你会得到你想要的清单。

在查询中使用: 按名称,地址

排序

答案 1 :(得分:0)

这是一个网格视图的演示,可能是你可以浏览它。

   <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
                     DataSourceID="SqlDataSource1">
   <Columns>
                         <asp:TemplateField HeaderText="ID">
                             <ItemTemplate>
                                 <asp:Label ID="lblserial" runat="server">
                        </asp:Label>
                             </ItemTemplate>
                         </asp:TemplateField>
                         <asp:BoundField DataField="Name" HeaderText="Name" 
                             ItemStyle-HorizontalAlign="Center" SortExpression="Name">
                         <ItemStyle HorizontalAlign="Left" />
                         </asp:BoundField>
                         <asp:BoundField DataField="Address" HeaderText="Address" 
                             ItemStyle-HorizontalAlign="Center" SortExpression="Address">
                         <ItemStyle HorizontalAlign="Left" />
                         </asp:BoundField>
       </Columns>
      </asp:GridView>

    <asp:SqlDataSource 
        ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:yourConnectionstring %>" 
        SelectCommand="SELECT Name,Address FROM [Table_Name] WHERE (Condition)"
        >
        <SelectParameters>
            <asp:SessionParameter Name="Name" SessionField="Name" Type="String" />
            <asp:SessionParameter Name="Address" SessionField="Address" Type="String" />
        </SelectParameters>


        </asp:SqlDataSource>

背后的代码

     int i = 1;
    foreach (GridViewRow row in GridView1.Rows)
    {
        Label lbl = (Label)row.FindControl("lblserial");
        lbl.Text = i.ToString();
        i++;
    }