Гость
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Страничный DataGride / 10 сообщений из 10, страница 1 из 1
03.06.2003, 12:36
    #32174994
Axl
Axl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Страничный DataGride
Нужно показывать по 6 записей из DataSet на каждой странице. Чем это сделать?
Repeater позволяет задавать шаблоны для показа записей DataTable, но не поддерживает разбиение на страницы.
DataGride разбивает записи, но показывает по одной строке HTML таблицы на одну строку DataTable в DataSet, а мне нужно по две на строку.

В Classical ASP Recordset.PageSize поддерживается для RecordSet, а не для представления, поэтому там показать своё представление не проблема.

Неужели кроме прямого рендеринга страницы, нет никакой альтернативы в ASP.NET?
...
Рейтинг: 0 / 0
03.06.2003, 13:02
    #32175050
ArchiMage
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Страничный DataGride
А DataList не пробовал использовать?
И зачем тебе надо две строки в качестве одной использовать?
Ежели так сильно надо, то сделай так:
Настрой DataList на отображение двух строк, а в запросе делай Join одного и того же запроса с вязкой по table1.rownum = table2.rownum+1
...
Рейтинг: 0 / 0
03.06.2003, 14:53
    #32175239
Axl
Axl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Страничный DataGride
DataList - тот же Repeater, только с Write методами и свойствами. Проблема не в этом.
Как сунуть ему в качестве источника данных не весь DataView а только записи От и До (т.е. скажем с 10-й строки по 20-ю) ?
...
Рейтинг: 0 / 0
03.06.2003, 15:24
    #32175299
Konstantin Ivanov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Страничный DataGride
У датагрида есть свойство Paging, котрое позволяет делать разбивку на страницы.

Свойство PageSize определяет число показываемыз записей.

Если PageSize=10, и PageNumber=4, то будут показаны записи с 41 по 50-ю.

Источник данных может быть целым DataView.
...
Рейтинг: 0 / 0
04.06.2003, 10:40
    #32175924
Axl
Axl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Страничный DataGride
DataGrid - разбивает DataView на страницы, я не нашел как заставить его выводить по ДВЕ записи из DataView в ОДНУ строку таблицы DataGrid
DataList(сиречь Repeater) - позволяет сделать это, с использованием привязки данных к шаблонам, но не поддерживает разбиение на страницы.

Пока я нашел только один способ, перенумеровать выбираемые строки в SQL запросе, и отфильтровать DataView указывая нужные диапазоны номеров строк. Затем указать его как Repeater.DataSource = DataView.

Ну хорошо, с этим ясно. А вот если мне понадобится 3 или 4 записи рядом расположить, тогда что? Типов шаблонов то в Repeater всего два?
...
Рейтинг: 0 / 0
04.06.2003, 17:18
    #32176629
Konstantin Ivanov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Страничный DataGride
А можно посмотреть на шаблон, к-рый используется в DataList для вывода двух строк с данными в одну строку результирующей таблицы?
...
Рейтинг: 0 / 0
05.06.2003, 08:35
    #32176945
Axl
Axl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Страничный DataGride
конечно. вот он.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
  <ASP:Repeater id= "Repeater1"  runat= "server"  >
     <HeaderTemplate>
        <table border= 1 >
        <tr>
           <td bgcolor= "#cccc99"  width= "200 "><b>Name</b></td>
           <td bgcolor= "#cccc99"  width= "200 "><b>Phone</b></td>
        </tr>
               
     </HeaderTemplate>

     <ItemTemplate>
            <tr>
           <td> <%# Container.DataItem( "PrSurname" ) %> 
                <%# Container.DataItem( "PrGivenName" ) %>
           </td>
     </ItemTemplate>

     <AlternatingItemTemplate>
           <td bgcolor=#99ffcc> <%# Container.DataItem( "PrSurname" ) %> 
                <%# Container.DataItem( "PrGivenName" ) %>
           </td>
        </tr>
     </AlternatingItemtemplate>

     <FooterTemplate>
        </table>
     </FooterTemplate>
  </ASP:Repeater>
...
Рейтинг: 0 / 0
05.06.2003, 15:33
    #32177537
Konstantin Ivanov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Страничный DataGride
Так сделай такой же шаблон для колонки в датагриде!

Элемент датагрида - TemplateColumn (в отличие от ButtonColumn и BoundColumn), у него есть ItemTemplate и AlternatingItemTemplate.
...
Рейтинг: 0 / 0
09.06.2003, 13:41
    #32179511
Axl
Axl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Страничный DataGride
"Вот уж истинно говорят, хочет Бог человека ослепить, так лишает его разума"

И чего до меня раньше не доперло? Однако это не решает проблему если нужно показать в строку больше двух записей. Шаблонов то всего два ItemTemplate и AlternatingItemTemplate
Тогда как быть?
...
Рейтинг: 0 / 0
16.06.2003, 06:09
    #32182801
ArchiMage
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Страничный DataGride
Тогда реорганизуй данные или запрос.

Опиши реальную проблему.
Зачем тебе отображать одновременно две записи из выборки?
К сожалению, видимо, за 10 лет работы с данными в первый раз встречаюсь с такой необходимостью.

Конкретный совет: реорганизуй данные .
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Страничный DataGride / 10 сообщений из 10, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]