Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.27;
Скачать: CL | DM;

Вниз

Как взять значение 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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.041 c
3-1108848665
TheEd
2005-02-20 00:31
2005.03.27
Есть ли компоненты для визуализации таблиц много-ко-многим


1-1110975329
mordush
2005-03-16 15:15
2005.03.27
image


1-1110790597
amatol
2005-03-14 11:56
2005.03.27
Как сделать активными кнопки в WebBrowser компоненте?


3-1109682392
Arazel
2005-03-01 16:06
2005.03.27
А как вообще каскадно удалять данные?


3-1109669846
syte_ser78
2005-03-01 12:37
2005.03.27
вычисляемое поле в дбгриде