2008-11-14 4 views
0

Если вы следовали моему предыдущему поступейджинг на Gridview управления VS-2008

var filteredUser = from U in collection 
           select new {U.fname,U.lname}; 
      gridView.DataSource = filteredUser; 
      gridView.DataBind(); 

Теперь я пытаюсь сделать это:

  1. Формата имен столбцов на основе свойств U. Таким образом, для например, если U.fname chancges для U.FirstName, то я хочу, чтобы мое имя столбца gridview отражало то же самое

  2. Если я включаю пейджинг через проекционное представление, код компилируется, но когда я запускаю веб-приложение, он fai Ls с указанием «Источник данных не поддерживает подкачку данных на стороне сервера»

Edit :: Нашел для пункта # 2 link text

ответ

1

1) Вы используете AutoGenerateColumns="True" на вашем GridView или связывающим их самостоятельно ? Я думаю, что (1) будет работать, если верно AutoGenerateColumns. Вы теряете большой контроль над тем, как отображаются столбцы, но он должен работать. Если вы привязываете их самостоятельно, я думаю, вам просто нужно обновить имена связанных столбцов всякий раз, когда имя поля данных изменяется или псевдоним имени в предложении select, так что оно остается неизменным.

var filteredUser = from U in collection 
        select new {FirstName = U.fname, LastName = U.lname}; 

2) Имеет ли ваша коллекция поддержки IEnumerable<U> или просто IEnumerable? Я считаю, что LINQ использует Skip() и Take() для поддержки пейджинга, поэтому ему потребуется поддержка общего перечислимого интерфейса.

+0

Моя коллекция получена из коллекции <>, которая, если память служит мне, правильно реализует IEnumerable <>. Если Linq поддерживает подкачку, тогда мне все равно нужно будет установить 2008-11-14 03:44:39

Смежные вопросы