2009-08-14 9 views
7

Mam obecnie repeater, którego źródłem danych jest lista, gdzie ModelObject jest niestandardową klasą w interfejsie używanym do renderowania bardziej złożony LINQ do obiektu SQL. Na przykład renderuje adresy URL dla linków, nazw stanów itp. Nazwy statusów nie znajdują się w bazie danych, ponieważ wiedzieliśmy, że kiedyś będziemy musieli zlokalizować tę aplikację."Źródło danych nie obsługuje stronicowania po stronie serwera" w przypadku korzystania z kolekcji front-end

Teraz muszę przesłać tę listę i sortować ją, więc próbuję przełączyć się do widoku siatki, aby skorzystać z funkcjonalności out of the box. Wystąpił błąd "Źródło danych nie obsługuje stronicowania danych po stronie serwera". Jakiego rodzaju źródła danych mogę użyć, aby mój frontend mógł dostosować dane wyjściowe? Wydaje się, że powinno to być typowe zadanie, ponieważ aplikacje zlokalizowane wymagają wartości sortowania wychodzących z plików resx.

Dzięki za pomoc.

+0

Czy możesz wyświetlić swój kod. –

+0

Kod, który mam jest zbyt obszerny, aby można go było łatwo dołączyć. Będę musiał zrobić prostszy przykład w nowym projekcie, co może mi pomóc w rozwiązaniu problemu. –

Odpowiedz

8

Nie można użyć obiektu IQueryable do powiązania danych z GridView i nadal używać stronicowania i sortowania. Musisz zwrócić listę do GridView przy użyciu metody ToList().

Zobacz ten DevToolShed artykuł uzyskać więcej informacji:
http://www.devtoolshed.com/content/gridview-objectdatasource-linq-paging-and-sorting

+0

Ten link pomaga. Pierwszą rzeczą, którą musiałem zrobić, to zmienić źródło danych z IEnumerable na IList. Myślę, że będę musiał pracować więcej z niestandardowym ObjectDataSource, ale znowu ten link to obejmie. –

3

Dla tych, które są coraz to błąd, ale wykonawcze:

IEnumerable<T> or 
IEnumerable or 
IList<T> or 
IDictionary<T1, T2>. 

Trzeba wdrożyć kolekcji ICollection (non-generic jeden) dla Ciebie aby przekazać komunikat "Źródło danych nie obsługuje stronicowania danych po stronie serwera".

Powiązane problemy