Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.08.2017, 17:22   #1
Правильный Вася
Пользователь
 
Регистрация: 15.08.2017
Сообщений: 10
Вопрос определение перечня записей, видимых в DBGrid

можно ли это сделать в принципе?
если да, то куда копать?

речь идет, конечно же, о записях, видимых в конкретный момент в пространстве сетки

Последний раз редактировалось Правильный Вася; 15.08.2017 в 17:23. Причина: уточнение
Правильный Вася вне форума Ответить с цитированием
Старый 15.08.2017, 17:30   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

в сторону ФИЛЬТАЦИИ набора данных.

на клиенте без повторного чтения
DataSet.OnFilterRecord
DataSet.Filtered
DataSet.Filter

на строне сервера SQL с повторным чтением
ADOQuery.SQL.Text:='select .... where ?????';
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 15.08.2017, 18:31   #3
Правильный Вася
Пользователь
 
Регистрация: 15.08.2017
Сообщений: 10
Вопрос

вы меня не поняли
речь идет не о записях в датасете, а именно о строках грида
например, в датасете их 50, а в гриде видны с 20 по 31 (не по причине отфильтрованности, а просто в окошко другие не влазят)
так вот нужно узнать, какие именно видны, программным способом

Последний раз редактировалось Правильный Вася; 15.08.2017 в 20:30. Причина: уточнение
Правильный Вася вне форума Ответить с цитированием
Старый 15.08.2017, 21:30   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage(Format('с %d по %d',[DBGrid1.DataSource.DataSet.RecNo-TStringGrid(DBGrid1).Row+1,
    DBGrid1.DataSource.DataSet.RecNo-TStringGrid(DBGrid1).Row+TStringGrid(DBGrid1).RowCount-1]));
end;
а зачем?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 15.08.2017, 22:28   #5
Правильный Вася
Пользователь
 
Регистрация: 15.08.2017
Сообщений: 10
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
а зачем?
ну, например, хочется методом Drag'n'Drop перетащить на конкретную запись нечто
координаты в рамках грида я знаю, высоту строки - тоже, можно вычислить стрку в гриде, и, следом, в датасете

может, для этого есть способ не такой сложный, как я надумал?
Правильный Вася вне форума Ответить с цитированием
Старый 16.08.2017, 09:17   #6
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

Цитата:
тоже, можно вычислить стрку в гриде, и, следом, в датасете
http://www.programmersforum.ru/showthread.php?t=297853
только там искали не строку а столбец. А все равно нашли ячейку(Cell).
Цитата:
координаты в рамках грида я знаю,
+ ClientToScreen
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 16.08.2017 в 09:21.
evg_m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
отсеивание записей в DbGrid shalun43911 БД в Delphi 1 05.04.2014 19:48
проверка записей в DBGrid JDmit БД в Delphi 5 07.06.2012 16:44
Определение столбца в DBGrid anytim БД в Delphi 4 25.09.2010 08:17
Проверка записей в DBGrid Stranger333 БД в Delphi 14 12.07.2010 18:11
Выбор записей в DBGrid-e artemavd БД в Delphi 12 16.05.2009 19:45