GridView и Linq Query сортировка - PullRequest
1 голос
/ 20 августа 2010

Я использую Linq Запрос для заполнения GridView.

Затем я устанавливаю его на Datasource.

В событии сортировки я бы хотелчтобы получить анонимный тип, сгенерированный запросом, и найти имя участника.

Возможно ли это сделать?

Вот пример запроса

var q = from inboundCall in dc.GetTable<InboundCall>()
join employee in dc.GetTable<Employee>() on inboundCall.EmployeeID equals employee.ID
join code in dc.GetTable<Code>() on inboundCall.CodeID equals code.ID
join site in dc.GetTable<Site>() on inboundCall.SiteID equals site.ID
where inboundCall.IsSuccess == true
                    select new
                               {
                                   EmployeeNumber = employee.Number,
                                   EmployeeName = employee.Name,
                                   CallerID = inboundCall.CallerID,
                                   SiteName = site.Name,
                                   CallDate = inboundCall.CallDate,
                                   CodeName = code.Name
                               };

А затем

gridData.DataSource = q;

Что я могу сделать в событии сортировки, чтобы повторно получить тип Anonymous и сделать что-то подобное

employeeList.Sort((x, y) => ((Int32)x.GetType().GetProperty(e.SortExpression).GetValue(x, null)).CompareTo((Int32)y.GetType().GetProperty(e.SortExpression).GetValue(y, null)) * sortValue);

1 Ответ

0 голосов
/ 20 августа 2010

Вы можете сделать это с помощью отражения или использовать динамическую библиотеку LINQ для добавления предложения OrderBy.

Или лучшим вариантом может быть создание фактического класса / структуры, представляющих данные, которые вы будете получать.

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