asp.net Сортировка внутреннего ListView - PullRequest
0 голосов
/ 29 марта 2012

Я использую asp.net только около месяца, так что я надеюсь, что мой родной язык имеет смысл.Я бы предпочел использовать MVC, но эта конкретная страница просмотра, по-видимому, должна использовать файлы aspx и code-behind, поскольку она должна быть «включена» в CMS с плоским файлом.

У меня есть 3 вложенных ListViews,Первый заполняется (привязывается к данным) из моего файла с выделенным кодом с помощью LINQ и отлично работает, получает список лет .Затем для второго ListView я вызываю функцию GetRecordsFromYear, которая получает все записи , снова используя LINQ в коде позади.

<asp:ListView ID="lv2" runat="server" DataSource='<%# GetRecordsFromYear(Convert.ToInt32(Container.DataItem)) %>'>

Далее, для каждой Запись имеется свойство навигации (отношение «один ко многим» с другой таблицей) с градусами .В таблице Градусы есть столбец с именем "gradyear", по которому я хочу отсортировать этот последний ListView.Я могу вывести это нормально, выполнив что-то вроде:

<asp:ListView ID="lv3" runat="server" DataSource='<%# Eval("Degrees") %>'>

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

1 Ответ

0 голосов
/ 29 марта 2012

Вы пробовали:

<asp:ListView ID="lv3" runat="server" DataSource='<%# From o in Eval("Degrees") order by o.gradyear %>'>

Вариант 2: Если Eval ("Градусы") неисчислимы, вы можете сделать что-то вроде

  <asp:ListView runat="server" ID="lstInner" DataSource='<%#  GetDegrees(Eval("Degrees")) %>'>

vb side:

 Public Function GetDegrees(degrees As IEnumerable) As IEnumerable
    Return From o In degrees Order By o.gradyear
End Function
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...