Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.041 c
8-1102365160
vvvaaa
2004-12-06 23:32
2005.03.27
Поток и BitMap


1-1110998105
Alex Romanskiy
2005-03-16 21:35
2005.03.27
GIF в Image


1-1110528949
ser35
2005-03-11 11:15
2005.03.27
Сохранение значений DBGrid


1-1110704316
bva
2005-03-13 11:58
2005.03.27
Господа плиз. Как прорисовать TMemo


1-1110451078
Оля
2005-03-10 13:37
2005.03.27
Защита от отладчика





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский