powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как выбрать верхнюю строку в TCxGrid ?
7 сообщений из 7, страница 1 из 1
Как выбрать верхнюю строку в TCxGrid ?
    #39481946
Valery_B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть CXGrid, который сгруппирован (Drag column name to group by column).
При группировке, 1ая строка датасета становиться не первой, а где-то по середине грида.
Попробовал так, но это только переводит Scroll на верхнюю строчку, выделенной остаётся именно 1ая строчка датасета.

Код: pascal
1.
2.
3.
  DataSet.Open;
  GridListDBTableView1.Controller.TopRowIndex:=0;
  GridListDBTableView1.Controller.TopRecordIndex:=0;


Как выделить первую строчку в гриде ?
...
Рейтинг: 0 / 0
Как выбрать верхнюю строку в TCxGrid ?
    #39481957
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отсортировать запрос (ORDER BY сначала по группе, потом по чему-то еще). После чего вызывать DataSet.First.

В конце-концов из DataController'а можно получить ID первой записи (те же TopRow, TopRecord), и уже потом через DataSet.Locate('ID', id, []).
...
Рейтинг: 0 / 0
Как выбрать верхнюю строку в TCxGrid ?
    #39481971
Valery_B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JaDi,

ORDER By - Это SQL, а группировка грида - это на клиентском компутере.
Юзер сам может ставить фильтры, перетаскивая колонку в окно "Group by"

Не совсем понял, что надо сделать с TopRowIndex - т.к. в DataController нет такого свойства.
...
Рейтинг: 0 / 0
Как выбрать верхнюю строку в TCxGrid ?
    #39481972
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery_B,

Нету кода под рукой, но вот идея:
1. Получаем первую группу и первую запись из нее;
2. По индексу этой записи смотрим значение ID-поля;
3. Но событии группировки вызываем locate у датасета по ID и переходим к этой записи.
...
Рейтинг: 0 / 0
Как выбрать верхнюю строку в TCxGrid ?
    #39481977
Valery_B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JaDi,

Я думаю, это не правильно.
т.к. группа - не имеет ID, по которому можно сделать Locate, но группа - может быть выделена.
Можно конечно действительно, как-то искать 1ую запись группы, но выделив её группа раскроется.

Что много действий получается, для выделения верхней строчки...
...
Рейтинг: 0 / 0
Как выбрать верхнюю строку в TCxGrid ?
    #39481987
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery_B,

Так надо группу выделить? Тогда в списке текущих групп поискать свойства типа selected/focused (либо у самой группы, либо какой-нибудь SelectedGroups).

И вообще, все группы так же в качестве Rows хранятся... можно посмотреть список типа VisibleRows или просто Rows и выделять первую запись (см выше).
...
Рейтинг: 0 / 0
Как выбрать верхнюю строку в TCxGrid ?
    #39482103
AJi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AJi
Гость
Вот такой вариант не устроит? Он правда переставляет курсор на самый верх грида, а не какой-то конкретной группы.
Код: pascal
1.
GridListDBTableView1.DataController.GotoFirst;
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как выбрать верхнюю строку в TCxGrid ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]