gpt4 book ai didi

gridview - 在 ASP.NET Gridview 中排序

转载 作者:行者123 更新时间:2023-12-04 04:58:44 27 4
gpt4 key购买 nike

它的阿伦。这次我在 ASP.Net 中遇到了排序问题。对于第一次单击,降序工作正常,但在第二次单击时不会再次升序。它仍然是降序排列。我正在使用 Tableadapter 来显示 gridview 内容。请检查代码并纠正我遗漏的地方。

    protected void gv1_Sorting(object sender, GridViewSortEventArgs e)
{
string sdir = e.SortDirection == SortDirection.Ascending ? "DESC" : "ASC";
DataView dv = new DataView(ds2.AllocationPending(ClientLoggedIn.Text));
dv.Sort = e.SortExpression + " " + sdir;
gv1.DataSource = dv;
gv1.DataBind();
}

另请解释 - 有没有其他方法可以在没有 Dataview 的情况下应用排序。

谢谢。

最佳答案

我已经找到了这个问题的解决方案。原因是 e.SortDirection 总是返回升序。所以我需要将 e.SortDirection 存储在 ViewState 中并使用该值对数据 View 进行排序。更新的编码如下:

    protected void gv1_Sorting(object sender, GridViewSortEventArgs e)
{
string SortDirection = "DESC";
if (ViewState["SortExpression"] != null)
{
if (ViewState["SortExpression"].ToString() == e.SortExpression)
{
ViewState["SortExpression"] = null;
SortDirection = "ASC";
}
else
{
ViewState["SortExpression"] = e.SortExpression;
}
}
else
{
ViewState["SortExpression"] = e.SortExpression;
}

DataView dv = new DataView(ds2.AllocationPending(ClientLoggedIn.Text));
dv.Sort = e.SortExpression + " " + SortDirection;
gv1.DataSource = dv;
gv1.DataBind();
}

关于gridview - 在 ASP.NET Gridview 中排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16416268/

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