如何对网格视图进行排序,以便按特定列显示行
本文关键字:显示 排序 网格 视图 | 更新日期: 2023-09-27 18:27:33
我已经试了很多次想办法对我的网格视图进行排序,但我找不到方法。
表列:
Name | Age | Old device name
============================
John | 22 | KRT 20
Jon | 21 | KSR 12
Jco | 22 |
我想知道如何制作一个下拉列表,在网格视图中选择按旧设备名称对所有行进行排序,这样我就应该在网格视图上只看到包含旧设备名称的行。
我在ASP.NET中使用SqlDataSource和GridView。
编辑:我已经根据您的评论更新了代码。
一种方法是将DropDownList设置为AutoPostBack="true"
,并处理SelectedIndexChanged
事件。在本例中,DropDownList中的项应与GridView的列名相匹配。我使用过"ColumnA"、"ColumnB"answers"ColumnC"
<asp:DropDownList ID="DropDownList1" AutoPostBack="true" runat="server"
OnSelectedIndexChanged="myDDL_SelectedIndexChanged">
<asp:ListItem>ColumnA</asp:ListItem>
<asp:ListItem>ColumnB</asp:ListItem>
<asp:ListItem>ColumnC</asp:ListItem>
</asp:DropDownList>
然后,在代码后面,您可以设置只需根据下拉菜单的选定值调用排序函数:GridView
的"SortExpression"并对其进行数据绑定
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
gridView1.Sort(DropDownList1.SelectedValue, SortDirection.Ascending);
}
您可以将SortDirection.Ascending
替换为SortDirection.Descending
。
注意:这个答案假设下拉列表中的值是数据源中列/字段的名称