|
4 / 4 / 1
Регистрация: 10.12.2010
Сообщений: 81
|
|
Отслеживание видимых записей в области DBGrid28.06.2014, 23:02. Показов 3465. Ответов 12
Метки нет (Все метки)
Всем привет!
Можно ли узнать количество, и обратиться к записям которые находятся в видимой части DBGrida. Т.е. таблица из базы данных загружена полностью(например 100 записей), а из-за размера окна в гриде видно только 10 записей, курсор может быть хоть в центре таблицы. Можно ли как то узнать что видно 10 записей, и обратиться к этим записям для внесения изменений? delphi 11(2007) навсяк. Есть стандартные методы?
0
|
|
| 28.06.2014, 23:02 | |
|
Ответы с готовыми решениями:
12
Как можно подсчитать число видимых столбцов в DBGrid? Перенос записей из одного DBGrid в другой DBGrid
|
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
|||||||
| 29.06.2014, 00:07 | |||||||
Сообщение было отмечено Stat как решение
РешениеДумаю можно:
Нумерация записей ведется с 1.
1
|
|||||||
|
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
|
||
| 29.06.2014, 00:07 | ||
|
В ТDBGrid положение курсора в датасете синхронизировано с отображением активной строки в гриде. И как ни крути (хоть в гриде перемещай курсор, хоть в датасете его методами), но активная строка будет на виду в DBGrid в любом случае. Поэтому и проблемы нет и, разумеется, нет ничего похожего на стандартные методы определения видимости строк (записей).
0
|
||
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
|
| 29.06.2014, 00:10 | |
|
Скандербег, имеется в виду, что курсор может быть на любой видимой строке Грида.
0
|
|
|
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
|
|
| 29.06.2014, 00:28 | |
|
Из вопроса не совсем ясно так ли. Осталось впечатление, что ТС видит ситуацию, когда активная строка не видна.
Но если речь о курсоре на любой видимой строке, то все равно не понятно зачем знать какие записи сейчас видны в гриде. Возможности то для "внесения изменений" во все видимые записи одновременно все равно нет. А приемчик хорош. Подсунуть компилятору совсем другой класс вместо грида - это классно. Не додумался бы
0
|
|
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
|
| 29.06.2014, 00:58 | |
|
0
|
|
|
пофигист широкого профиля
4770 / 3205 / 862
Регистрация: 15.07.2013
Сообщений: 18,613
|
||
| 29.06.2014, 02:56 | ||
|
0
|
||
|
4 / 4 / 1
Регистрация: 10.12.2010
Сообщений: 81
|
|||
| 29.06.2014, 08:00 [ТС] | |||
|
Пишу в программе отображение уведомлений(в виде планировщика задач - немного эротики) для пользователя, и было бы хорошо, например когда пролистывая DBGrid записи(уведомления) которые попали в "зону видимости" я бы пометил как прочтенные... А про курсор... на любой видимой строке.
0
|
|||
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
||
| 29.06.2014, 09:13 | ||
|
Так что, либо делать сабклассинг, либо использовать "непрямого родственника". Думаю, что такое решение вполне корректно, т.к. используемые св-ва есть у общего предка, только в другой области видимости (хотя до конца не уверен ).
0
|
||
|
1076 / 989 / 340
Регистрация: 07.08.2012
Сообщений: 2,790
|
||
| 29.06.2014, 12:32 | ||
|
П
К тому же, хотя и не прямые, а родственники, поэтому опасаться нечего - помогает, что нужный набор свойств и их типы одинаковые. Это обстоятельство позволяет несколько упростить код, используя скрытое свойство TopRow (ну, это так, на всякий случай).
0
|
||
|
пофигист широкого профиля
4770 / 3205 / 862
Регистрация: 15.07.2013
Сообщений: 18,613
|
|||||||
| 30.06.2014, 02:46 | |||||||
0
|
|||||||
|
Модератор
3492 / 2614 / 742
Регистрация: 19.09.2012
Сообщений: 7,977
|
|||
| 30.06.2014, 09:31 | |||
|
Но зачем писать лишнюю строчку кода, если можно обойтись без нее ![]() Добавлено через 16 минут Кстати, TMyHackGrid тоже не является предком TDBGrid. Так что получается, что TMyHackGrid(DBGrid1).Row - тоже самое, что и TStringGrid(DBGrid1).Row.
0
|
|||
|
пофигист широкого профиля
4770 / 3205 / 862
Регистрация: 15.07.2013
Сообщений: 18,613
|
||
| 30.06.2014, 10:52 | ||
|
0
|
||
| 30.06.2014, 10:52 | |
|
Помогаю со студенческими работами здесь
13
Отслеживание изменение записей
Отслеживание создания новых записей во множественной форме Удаление записей в DBGrid Добавление записей в DBGrid Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|