我使用的是對asp.net gridview進行排序,並設置好了所有東西,但它不起作用。這些列甚至沒有像正常一樣加下劃線,點擊什麼都沒有發生。爲什麼我的排序不起作用?
網格:
<asp:GridView ID="gvResults" runat="server" Width="100%" AllowSorting="True" OnSorting="gvResults_Sorting" AutoGenerateColumns="False" CssClass="tblBrowse">
排序:
protected void gvResults_Sorting(object sender, GridViewSortEventArgs e)
{
try
{
DataTable dtSortTable = gvResults.DataSource as DataTable;
if (dtSortTable != null)
{
DataView dvSortedView = new DataView(dtSortTable);
dvSortedView.Sort = e.SortExpression + " " + ConvertSortDirection(e.SortDirection);
gvResults.DataSource = dvSortedView;
gvResults.DataBind();
}
}
catch (Exception ex)
{
ExceptionHandling.NETException(ex, constPageID, constIsSiteSpecific);
}
}
轉換排序方向:
private string ConvertSortDirection(SortDirection sortDirection)
{
string newSortDirection = string.Empty;
switch (sortDirection)
{
case SortDirection.Ascending:
newSortDirection = "ASC";
break;
case SortDirection.Descending:
newSortDirection = "DESC";
break;
}
return newSortDirection;
}
您是否爲每列設置了「SortExpression」屬性? – ekad
你檢查過你的page_load是否正常?這意味着你只能在非回發情況下進行綁定... – deostroll
@ekad我應該在排序表達式中輸入什麼內容? – connersz