![]() |
|
Модераторы: gambit |
![]()
|
|
| Dimyan |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 441 Регистрация: 12.1.2004 Где: Новосибирск Репутация: нет Всего: 4 |
Я вот никак не могу понять как в .Net можно реализовать следующие:
Например в гриде должно отобразится (выбранное по условиям выставленных фильтров из базы) 10000 строк, но скорее всего из них небудут просмотрена и 1/10 поэтому нет смысла тянуть на клиент такое кол-во строк. Подскажите пожалуйста каким образом можно подфетчивать новые строки при прокрутке грида -------------------- Как хорошо ничего не делать, а потом еще немного отдохнуть :) |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 8 Всего: 232 |
Простейшее решение - это выводить записи постранично. Добавляем пару кнопок Next page / Prev page, по которым перезачитываем нужный кусок записей.
-------------------- ![]() |
|||
|
||||
| Dimyan |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 441 Регистрация: 12.1.2004 Где: Новосибирск Репутация: нет Всего: 4 |
ну вариант конечно, впринципе можно такое и при скролировании грида применить. А все таки если это простейшее то какие есть более серьезные решения?
-------------------- Как хорошо ничего не делать, а потом еще немного отдохнуть :) |
|||
|
||||
| Softaz |
|
|||
![]() wasm ![]() ![]() Профиль Группа: Участник Сообщений: 373 Регистрация: 16.1.2006 Репутация: 4 Всего: 16 |
Параметр TOP
Из отсортированного списка выбрать первые 5 записей. По крайней мере, в MSSQL есть. -------------------- Разочарованный в .NET |
|||
|
||||
| Dimyan |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 441 Регистрация: 12.1.2004 Где: Новосибирск Репутация: нет Всего: 4 |
хорошо, а как докачивать следующие? -------------------- Как хорошо ничего не делать, а потом еще немного отдохнуть :) |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 8 Всего: 232 |
Это задачка на составление SQL-запроса ? Тогда решается она так. Берём максимальный Id-шник загруженной в грид записи, допустим он 123, и добавляем в запрос условие:
-------------------- ![]() |
|||
|
||||
| Dimyan |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 441 Регистрация: 12.1.2004 Где: Новосибирск Репутация: нет Всего: 4 |
интересно кому на практике для отображения надо сортировка по id ?
а если я по имени например соритрую и id у меня 123 Петров 321 Иванов 111 Уланов ??? Можно конечно что то типа для получения следующих пяти
но вы извените меня великодушно, но это кал а не запрос... Добавлено @ 16:13 забыл сказать синтаксис sql FireBird -------------------- Как хорошо ничего не делать, а потом еще немного отдохнуть :) |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 8 Всего: 232 |
Тогда можно зная имя поля по которому сортируем ("Фамилия"), добавлять в условие квери что-то вроде " AND Фамилия > 'Петров'"... З.Ы. в sql'е я не маньяк, так что вы уж простите великодушно... -------------------- ![]() |
|||
|
||||
| Dimyan |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 441 Регистрация: 12.1.2004 Где: Новосибирск Репутация: нет Всего: 4 |
да без проблем ;) Просто действительно очень волнует этот вопрос, т.к. тягать лишние данные обсалютно не хочется, особенно если тетки выставляют фильтры выборки за год проводок, а их там под миллион такой вариант тоже не подходит, т.к. как правило нет четкой сортировки, т.е. могут сортировать по фамилии а могут по номеру документа, а могут ..... можно конечно в программе клеить условия запроса в зависимости от выбранной сортировки, но хотелось бы чего нибудь более гипкого, имхо это все не методы -------------------- Как хорошо ничего не делать, а потом еще немного отдохнуть :) |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 8 Всего: 232 |
Общее время загрузки данных = времени на запрос + времени на получение данных с сервера БД
Сокращать нужно первую часть, т.к. вторая от неё зависит. Время на запрос можно уменьшить либо выставив ограничивающие условия в WHERE, либо обрезав результат TOP-ом (FIRST-ом). Может и есть какие-то другие варианты, но лично мне они неизвестны -------------------- ![]() |
|||
|
||||
| Dimyan |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 441 Регистрация: 12.1.2004 Где: Новосибирск Репутация: нет Всего: 4 |
согласен
просто как то это весьма некрасиво выглядит (имхо) может просто с непривычки конечно Я просто до этого серьезно C# не занимался, вот только сейчас руки дошли и до него Нехотелось бы лишние подзапросы в каждый запрос (результаты которого в грид летят) подставлять, никчему они там -------------------- Как хорошо ничего не делать, а потом еще немного отдохнуть :) |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Базы данных под .NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |