C# 如何对gridview进行排序以按特定列显示行
我已经尝试了很多次,想找到一种方法来对我的gridview进行排序,但是我找不到一种方法 表列:C# 如何对gridview进行排序以按特定列显示行,c#,asp.net,sql,C#,Asp.net,Sql,我已经尝试了很多次,想找到一种方法来对我的gridview进行排序,但是我找不到一种方法 表列: Name | Age | Old device name ============================ John | 22 | KRT 20 Jon | 21 | KSR 12 Jco | 22 | 我想知道如何制作下拉列表,在gridview中选择按旧设备名称对所有行进行排序,因此我应该在gridview中只看到包含旧设备名称的行 我正在ASP.NET中使用SqlDataS
Name | Age | Old device name
============================
John | 22 | KRT 20
Jon | 21 | KSR 12
Jco | 22 |
我想知道如何制作下拉列表,在gridview中选择按旧设备名称对所有行进行排序,因此我应该在gridview中只看到包含旧设备名称的行
我正在ASP.NET中使用SqlDataSource和GridView。编辑:我已经根据您的评论更新了代码 一种方法是将DropDownList设置为
AutoPostBack=“true”
,并处理SelectedIndexChanged
事件。在本例中,DropDownList中的项目应与GridView的列名匹配。我用了“ColumnA”、“ColumnB”和“ColumnC”
您可以用SortDirection.Descending
替换SortDirection.Descending
注意:此答案假设下拉列表中的值是数据源中列/字段的名称。您可以在SqlDataSource的sortExpression属性中设置列名,并调用DataBind()方法,它将为您的gridview排序。我获取porperty或indexer System.Web.Ui.WebControl.gridview.SortExpression无法分配给--它已被读取only@InziIrina啊,我已经有一段时间没这么做了。我已经更新了代码(这一次,我在我的机器上测试了它-所以你应该很好!)。我需要从列中选择一个数据源吗?还是只添加带有列文本的项?我说的是下拉列表,我不知道如何配置it@InziIrina正确,您将添加带有列名称的
元素。我在示例中添加了这一点。
<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>
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
gridView1.Sort(DropDownList1.SelectedValue, SortDirection.Ascending);
}