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

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

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

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

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

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

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

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

Код: 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
Страничный DataGride
    #32177537
Konstantin Ivanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так сделай такой же шаблон для колонки в датагриде!

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

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

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

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


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