Форум: "Базы";
Текущий архив: 2005.03.27;
Скачать: [xml.tar.bz2];
ВнизКак взять значение DataSet по заданному номеру строки грида? Найти похожие ветки
← →
Inoemy (2005-02-25 14:16) [0]Не могу решить следующую задачу:
есть DBGrid в котором отображается набор данных
нужно взять значение некоторого поля записи, которая отображена в гриде в строке с определенным номером.... RecNo не подходит, т.к. в гриде данные могут быть смещены скролом
← →
Sergey13 © (2005-02-25 14:21) [1]>Как взять значение DataSet по заданному номеру строки грида?
Как правило, это достаточно странная (хотел написать другое слово, но сдержался 8-) задача.
← →
Anatoly Podgoretsky © (2005-02-25 14:21) [2]А что такое номер строки в гриде?
← →
Inoemy (2005-02-25 14:33) [3]В Датасет слишком много записей... они постоянно меняются... появляются новые. Нужно рефрешить грид...(при каждом скроле вверх и вниз и периодически из-за изменений другими пользователями) но полностью на все записи- слишком дорого :) поэтому я хочу брать селектом только часть, причем с учетом скрола и т.п
вот запрос.... но вот айДи документа (верхнего в гриде или нижнего зависимо от направления скрола) как взять? количчество строк я беру....
select top 38 * from Invoices(NOLOCK) where created between @pstart and @pend and created<= @psearchVal and ( created != @psearchVal or doc_id <= @psearchDoc) order by created desc
← →
Sergey13 © (2005-02-25 14:38) [4]2[3] Inoemy (25.02.05 14:33)
>В Датасет слишком много записей...
Вот тут собака и зарыта. Давай узеру не все, а только нужное.
← →
Inoemy (2005-02-25 14:57) [5]Я и даю только то что должно влезть в грид.... плюс 1 запись вниз или вверх... проблемма в определении первой или последне записи в будущем наборе.... смотри внимательно запрос...
← →
Digitman © (2005-02-25 15:01) [6]
> проблемма в определении первой или последне записи в будущем
> наборе
первая запись - first-метод
последняя запись - last-метод
чего тебе еще надобно, старче ? какие нафих RecNo, если dynaset ?
← →
Sergey13 © (2005-02-25 15:04) [7]2[5] Inoemy (25.02.05 14:57)
>Я и даю только то что должно влезть в грид
Более чем странный критерий отбора.
>смотри внимательно запрос...
Видал я такие вопросы. Не ты первый.
← →
Inoemy (2005-02-25 15:19) [8]мне нужно по номеру строки в гриде взять даннЫе из набора данных :-)
← →
Anatoly Podgoretsky © (2005-02-25 15:30) [9]После [3] понятно о каких строках ты говоришь. Но сам подход не верный, поищи лучше другой критерий ограничения количества возвращаемых строк, чем количество строк в гриде, задача сразу станеть простой и стабильной.
← →
Digitman © (2005-02-25 15:32) [10]
> нужно по номеру строки в гриде взять даннЫе из набора данных
есть такое понятие - "текущая запись"
← →
Inoemy (2005-02-25 15:40) [11]ну все равно спасибо... ;-)
← →
ЮЮ © (2005-02-28 03:56) [12]>но вот айДи документа (верхнего в гриде или нижнего зависимо от направления скрола) как взять?
DBGrid имеет в своем составе DataLink (правда он Protected в стандартном, но, надеюсь, уже умеешь достучться до protected свойств), который и есть "буфер" отображаемых в гриде записей.
P.S. Смотри в исходниках DrawCell, как грид перерисовывает все видимые записи датасета, не "скроллируя" при этом его самого.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.03.27;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.044 c