【问题标题】:sorting a gridview bound to a linq SP对绑定到 linq SP 的 gridview 进行排序
【发布时间】:2011-04-29 01:43:27
【问题描述】:

因此,我有一个绑定到 linqed SP 的网格:

Session["results"] = db.spGetCaseByNumberOrSurname(txtCaseNum.Text.Trim(), null).ToList();
gvResults.DataSource = Session["results"];

关于它的排序,我希望能够做到这一点..

    protected void gvResults_Sorting(object sender, GridViewSortEventArgs e)
    {
        string sortExpression = e.SortExpression;
        List<spGetCaseByNumberOrSurnameResult> data = Session["results"] as List<spGetCaseByNumberOrSurnameResult>;
        if (sd == SortDirection.Ascending)
        {
            sd = SortDirection.Descending;
            gvResults.DataSource = data.OrderBy(d => d.GetType().GetProperty(sortExpression));
        }
        else
        {
            sd = SortDirection.Ascending;
            gvResults.DataSource = data.OrderByDescending(d => d.GetType().GetProperty(sortExpression));
        }
        gvResults.DataBind();
    }

可悲的是,它根本没有进行任何排序..它实际上是错误的 "数据源不支持服务器端数据分页。"

有什么想法吗?

【问题讨论】:

    标签: c# asp.net linq sorting gridview


    【解决方案1】:

    d.GetType().GetProperty(sortExpression) 返回一个PropertyInfo 对象。你需要的是这样的属性值:

    d.GetType().GetProperty(sortExpression).GetValue(d, null);
    

    【讨论】:

      猜你喜欢
      • 2011-09-25
      • 1970-01-01
      • 2012-09-20
      • 2013-06-30
      • 1970-01-01
      • 1970-01-01
      • 2023-03-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多