Сортировка GridView, привязанного к запросу Linq - PullRequest
3 голосов
/ 30 июня 2011

У меня есть GridView, который я заполняю с помощью запроса Linq

var usersToApprove = from rl in QVDash.Permisisons
                           join u in QVDash.Userson rl.UserId equals u.UserId
                           join d in QVDash.Dashboards on rl.DashboardId equals d.DashboardId 
                           where (u.ApprovedBy == approverId || isGod)
                           select new
                           {
                               PermissionId = rl.PermissionId,
                               Name = u.Name,
                               Area = u.Area,
                               Dashboard = d.DashboardName,
                               OpUnit = rl.Operational_Unit,
                               Cost_Centre = rl.Cost_Centre,
                               Fund = rl.Fund,
                               Project = rl.Project,
                               Approver = (from a in QVDash.Users where a.UserId == u.UserId && a.UserId == u.ApprovedBy select a.Name).FirstOrDefault()
                           };

        grd_CurrentUsers.DataSource = usersToApprove ;
        grd_CurrentUsers.DataKeyNames = new string[] { "PermissionId" };
        grd_CurrentUsers.DataBind();

Это, однако, создает проблему, когда GridView не разрешает сортировку.

Я пробовал несколько вариантов, которые я нашел, которые прибегают к созданию пользовательской функции сортировки, однако я обнаружил, что это в лучшем случае схематично, такие проблемы, как: сортировка только одним способом, подкачкасбрасывает сортировку и т. д.

Я хочу знать, есть ли лучший способ сделать это.

Я знаю, что привязка gridView к источнику данных решает проблему сортировки,однако я не знаю, как связать мой Linq с источником данных.Возможно ли это?

Ответы [ 2 ]

1 голос
/ 30 июня 2011

Вы пробовали элемент управления LinqDataSource? Проверьте эту ссылку. http://weblogs.asp.net/scottgu/archive/2007/09/07/linq-to-sql-part-9-using-a-custom-linq-expression-with-the-lt-asp-linqdatasource-gt-control.aspx

Ключевая часть: «Для обработки пользовательских сценариев запросов вы можете реализовать обработчик событий для обработки события« Выбор »в элементе управления. В этом обработчике событий вы можете написать любой код, который вы хотите получить из результата модели данных».

Это позволяет вам сортировать страницы и т. Д. С помощью пользовательского запроса LINQ.

0 голосов
/ 04 июля 2011

Наконец-то разобрался с кодом сортировки с этого сайта http://forums.asp.net/t/1368247.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...