我有一個asp:GridView
控制,我已經設置AllowSorting="True"
屬性上:如何讓asp:GridView排序?
<asp:GridView ID="gridUsers" runat="server" PageSize="100" ShowHeaderWhenEmpty="True"
Width="100%" AllowSorting="True" onrowcreated="gridUsers_RowCreated"
onsorting="gridUsers_Sorting">
</asp:GridView>
在設計時,網格看起來排序:
但在運行時只有中間一列是可分揀:
如何在ASP.NET中對asp:GridView
進行排序?
注意:該asp:GridView
與AllowSorting
需要一個Sorting
事件處理程序存在:
protected void gridUsers_Sorting(object sender, GridViewSortEventArgs e)
{
//asp:GridView will throw an exception if a Sorting event handler isn't present
}
更新:我意識到什麼特別之處說明列。它是顯示名稱從數據庫原樣顯示的唯一列,原樣爲。其餘列i have to fix the display name to be presentable:
protected void gridUsers_RowCreated(object sender, GridViewRowEventArgs e)
{
e.Row.Cells[0].Visible = false; //UserGUID
e.Row.Cells[1].Text = "User name";
e.Row.Cells[2].Text = "Full name";
//3=Description
e.Row.Cells[4].Text = "E-mail";
e.Row.Cells[5].Text = "Active";
e.Row.Cells[5].Visible = false;
e.Row.Cells[6].Text = "Account type";
}
現在我只需要找出棘手的部分;並使列可以排序。
我不得不重新設計所有使用「早期」綁定,而不是「遲到」綁定(因此在答案中使用'asp:BoundField')。 GridView扼流器如果在運行時綁定它。 –