我有一个从数据库加载数据的网格视图。数据在第一次排序时按日期时间排序显示在网格视图中。我想在该网格视图的一个列上允许排序,例如在main_post列上。我尝试过了这个方法,但是当我点击该列的标题时,网格视图仍然没有进行排序。
这是我的网格视图前端代码:
我没有任何错误,也不知道我的错误在哪里,请有人帮我解决这个问题吗?
提前致谢。
这是我的网格视图前端代码:
<asp:DataGrid ID="Datagrid1" runat="server"
AllowPaging="True"
AllowSorting="True"
OnSorting="ComponentGridView_Sorting">
<Columns>
<asp:BoundColumn DataField="main_post" HeaderText="Header Post ID"
SortExpression="ComponentGridView_Sorting" />
</Columns>
</asp:DataGrid>
我的后端代码:
protected void loadData()
{
DataTable dtTemp;
dtTemp = objDBInterface.getResults(strSQL);
Datagrid1.DataSource = dtTemp;
Datagrid1.DataBind();
ViewState["dtbl"] = dtTemp;
}
protected void ComponentGridView_Sorting(object sender, GridViewSortEventArgs e)
{
DataTable dataTable = ViewState["dtbl"] as DataTable;
if (dataTable != null)
{
DataView dataView = new DataView(dataTable);
dataView.Sort = e.SortExpression + " " + ConvertSortDirection(e.SortDirection);
Datagrid1.DataSource = dataView;
Datagrid1.DataBind();
}
}
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;
}
我没有任何错误,也不知道我的错误在哪里,请有人帮我解决这个问题吗?
提前致谢。