сортировка вида сетки, привязанной к linq SP - PullRequest
3 голосов
/ 22 октября 2010

У меня есть сетка, привязанная к связанному 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();
    }

к сожалению, это не делает никакой сортировки вообще .. это на самом деле ошибки с «Источник данных не поддерживает подкачку данных на стороне сервера.»

есть идеи?

1 Ответ

4 голосов
/ 22 октября 2010

d.GetType().GetProperty(sortExpression) возвращает объект PropertyInfo .То, что вам нужно, это значение свойства, как это:

d.GetType().GetProperty(sortExpression).GetValue(d, null);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...