gpt4 book ai didi

c# - 在 asp.net 中对 gridview 列进行排序

转载 作者:行者123 更新时间:2023-11-30 14:30:05 24 4
gpt4 key购买 nike

我有一个从数据库加载数据的 gridview。数据第一次按日期时间排序显示在gridview中。在该 gridview 的一列上,我想允许排序,例如在 main_post 列上。我已经试过了,但是当我点击列的标题时,gridview 仍然没有排序。

这是我的 gridview 前端代码:

<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;
}

我没有任何错误,我不知道我的错误在哪里,有人可以帮我解决这个问题吗?

提前致谢。

最佳答案

很简单,将 Allowsorting 属性设置为 true 并在您的 gridview 中添加排序事件。

<asp:GridView ID="GridView1" runat="server" AllowSorting="true" 
OnSorting="GridView1_Sorting">
</asp:GridView>

现在在.cs文件中添加Event OnSorting

protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
{
SetSortDirection(SortDireaction);
if (dataTable != null)
{
dataTable.DefaultView.Sort = e.SortExpression + " " +_sortDirection;
GridView1.DataSource = dataTable;
GridView1.DataBind();
SortDireaction = _sortDirection;
}
}
protected void SetSortDirection(string sortDirection)
{
if (sortDirection == "ASC")
{
_sortDirection = "DESC";
}
else
{
_sortDirection = "ASC";
}
}

关于c# - 在 asp.net 中对 gridview 列进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24399147/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com