ListView, LinqDataSource, linq-to-sql и порядок - PullRequest
0 голосов
/ 07 ноября 2008

Итак, я пишу страницу с отчетами, и она довольно динамичная, у пользователя есть возможность группировать данные и сортировать столбцы. Я был в состоянии получить свою динамическую группировку и затем сортировку за исключением того, что теперь мой сгенерированный SQL-оператор linq-to-sql упорядочен в обратном направлении по сравнению с тем, что я хочу. Я думаю, что мне нужно выяснить, как получить результат, возвращаемый из LinqDataSource, когда в ListView запускается событие Sorting, чтобы я мог затем добавить свой порядок группировки по предложениям.

В настоящее время я переопределяю событие выбора LinqDataSource, чтобы предоставить его результат и выполнить там динамическую группировку, но затем результат изменяется путем сортировки в просмотре списка, и я подумал, что должен быть какой-то способ получить этот результат во время Событие сортировки или сортировки.

Буду признателен за любую проницательность, а пока я попытаюсь сам в этом разобраться.

Ответы [ 2 ]

1 голос
/ 07 ноября 2008

Вы можете использовать Linq для управления результатами ваших запросов (IEnumerables) на основе пользовательских данных. Например (следует очень обработчик события псевдокода):

public void OnUserClickNameColumn(object sender, EventArgs e){
  var data = DataProvider.RetrieveAllUsers();
  // switch between sorting asc and desc when user clicks on a column head
  SessionHelper.CurrentUser.NameColumnSort = !SessionHelper.CurrentUser.NameColumnSort;
  if(SessionHelper.CurrentUser.NameColumnSort) // true =  sort asc else sort desc
    UserDataGrid.DataSource = data.OrderBy(x=>x.Name);
  else
    UserDataGrid.DataSource = data.OrderByDescending(y=>y.Name);
}
1 голос
/ 07 ноября 2008

Удивительно, я думаю, что нашел свой ответ, установил AutoSort на false на моем LinqDataSource и затем сам отсортировал данные, так как я уже сортирую себя для других данных.

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