Глюки rxDBGrid

Модераторы: alexs, Модераторы

Re: Глюки rxDBGrid

Сообщение alexs » 21.08.2020 17:07:54

Наверное надо както приводить к общему знаменателю... Надо подумать
Аватара пользователя
alexs
долгожитель
 
Сообщения: 3932
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Глюки rxDBGrid

Сообщение V@S » 21.08.2020 17:45:27

А можно попросить об одной реализации?
Добавить в событие OnGetCellProps параметр Highlight = boolean.
Чтобы можно было отследить,что в гриде строка подсвечивается и соответственно не менять цвет строки (строка может подсвечиваться свойством dgRowHighlight или быть выделенной при gdMultiSelect).

Или подскажите как еще можно определить, что данная строка является выделенной/выбранной? Может просто не нахожу нужного свойства или метода :?
Аватара пользователя
V@S
новенький
 
Сообщения: 19
Зарегистрирован: 31.03.2008 10:23:20

Re: Глюки rxDBGrid

Сообщение alexs » 21.08.2020 17:54:04

V@S писал(а):Или подскажите как еще можно определить, что данная строка является выделенной/выбранной? Может просто не нахожу нужного свойства или метода

Что-то типа этого
RxDBGrid1.SelectedRows.IndexOf(quMain.Bookmark);
Аватара пользователя
alexs
долгожитель
 
Сообщения: 3932
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Глюки rxDBGrid

Сообщение V@S » 21.08.2020 17:56:51

В DrawCell модуля rxdbgrid даже учитывается, что строка выделена, но не учитывается что она подсвечена
Код: Выделить всё
    if Assigned(FOnGetCellProps) and not (gdSelected in aState) then
    begin
      FBackground := Canvas.Brush.Color;
      FOnGetCellProps(Self, GetFieldFromGridColumn(aCol), Canvas.Font, FBackground);
      Canvas.Brush.Color := FBackground;
    end;                                                       

Но тут проверять еще на активную подсветку всей строки неправильно, вдруг надо перекрашивать все равно.
Даже можно aState передать, как в других событиях.

Добавлено спустя 52 секунды:
alexs писал(а):RxDBGrid1.SelectedRows.IndexOf(quMain.Bookmark);

Даже если запись не в закладках? Или активная запись всегда в закладки помещается?
Аватара пользователя
V@S
новенький
 
Сообщения: 19
Зарегистрирован: 31.03.2008 10:23:20

Re: Глюки rxDBGrid

Сообщение alexs » 21.08.2020 17:57:49

А ещё кажется должно так сработать
if RxDBGrid1.SelectedRows.CurrentRowSelected then

Хотя в реализации CurrentRowSelected тоже самое и есть:
Код: Выделить всё
function TBookmarkList.GetCurrentRowSelected: boolean;
var
  Bookmark: TBookmark;
begin
  CheckActive;
  Bookmark := FDataset.GetBookmark;
  Result := IndexOf(Bookmark)>=0;
  FDataset.FreeBookmark(Bookmark);
end;
Аватара пользователя
alexs
долгожитель
 
Сообщения: 3932
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: Глюки rxDBGrid

Сообщение V@S » 21.08.2020 18:03:08

alexs писал(а):А ещё кажется должно так сработать
if RxDBGrid1.SelectedRows.CurrentRowSelected then

Это нашел, но не смог заставить так срабатывать для текущей строки.
Аватара пользователя
V@S
новенький
 
Сообщения: 19
Зарегистрирован: 31.03.2008 10:23:20

Пред.

Вернуться в RxLib

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Рейтинг@Mail.ru