Главная страница
    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.47 MB
Время: 0.042 c
1-1110810251
Chrom
2005-03-14 17:24
2005.03.27
Можно ли заблокировать клавиатуру и мышь программно?


3-1109070238
Максим
2005-02-22 14:03
2005.03.27
Как написать SQL запрос.


1-1110868049
Asail
2005-03-15 09:27
2005.03.27
Некорректная работа BiDiMode ....


1-1110800372
tex
2005-03-14 14:39
2005.03.27
Как заставить TImage сжать bmp-файл сохраняя пропорции


1-1110744759
DremLIN
2005-03-13 23:12
2005.03.27
Delphi, CLX-проект, handle





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский