
1) процедура OutCaptionCellText
Если TitleStyle стоит не tsNative то бакграунд заголовков таблицы не прорисовывается. А не tsNative всегда при создании нового компонента. Разкомментировал Canvas.FillRect(aRect);
и все встало на свои места. Не ужели этот баг еще никто не заметил?
2) При включении в опциях OptionRx параметра rdgFilter, компонент все заголовки рисует со стилем Italic. Лечение:
- убрать в constructor TRxColumnFilter.Create(Owner: TRxColumn) строчки присваивающие в наглую шрифтам стиль Italic, ибо нафиг не надо, кому надо выставит сам, иначе от этого стиля не избавишься.
- в процедуре TRxDBGrid.DefaultDrawFilter ищем и убиваем строчки в этой процедуре
- Код: Выделить всё
- if (dgIndicator in Options) and (aCol = 0) then
 begin
 Canvas.FillRect(aRect);
 DrawCellGrid(aCol, aRow, aRect, aState);
 exit;
 end;
 DrawCellGrid(aCol, aRow, aRect, aState);
а вместо них вставляем
- Код: Выделить всё
- if (dgIndicator in Options) and (aCol = 0) then
 begin
 if (TitleStyle = tsNative) then
 DrawThemedCell(aCol, aRow, aRect, aState)
 else
 begin
 Canvas.FillRect(aRect);
 DrawCellGrid(aCol, aRow, aRect, aState);
 end;
 exit;
 end;
 if (TitleStyle = tsNative) then
 DrawThemedCell(aCol, aRow, aRect, aState)
 else
 begin
 Canvas.FillRect(aRect);
 DrawCellGrid(aCol, aRow, aRect, aState);
 end;
далее ищем
- Код: Выделить всё
- ft:=Canvas.Font;
и заменяем на эти две
- Код: Выделить всё
- ft:=TFont.Create;
 ft.Assign(Canvas.Font);
ищем
- Код: Выделить всё
- with TRxColumn(Columns[MyCol]).Filter do
 begin
 Canvas.Brush.Color := Color;
 Canvas.FillRect(aRect);
заменяем на
- Код: Выделить всё
- with TRxColumn(Columns[MyCol]).Filter do
 begin
 if (TitleStyle <> tsNative) then
 begin
 Canvas.Brush.Color := Color;
 Canvas.FillRect(aRect);
 end;
далее ищем ниже и убираем
- Код: Выделить всё
- Canvas.Font:=ft;
и заменяем на
- Код: Выделить всё
- Canvas.Font.Assign(ft);
 ft.Free;
3) для меня баг для кого то может быть и фича
 Короче, если выставить в опциях rdgFilter то фильтр появляется но пустой а при закрытии датасета грида вообще фильтр скрывается. правим:
 Короче, если выставить в опциях rdgFilter то фильтр появляется но пустой а при закрытии датасета грида вообще фильтр скрывается. правим:- procedure TRxDBGrid.OnFilter(Sender: TObject) - после строк
- Код: Выделить всё
- ...
 C.Filter.ValueList.Add(C.Filter.EmptyValue);
 end;
добавляем
- Код: Выделить всё
- if not DataSource.DataSet.Active then
 exit;
- правим procedure TRxDBGrid.LinkActive(Value: boolean);
ищем
CalcStatTotals;
добавляем после нее
- Код: Выделить всё
- if rdgFilter in OptionsRx then
 OnFilter(nil);
далее ищем ниже
OptionsRx := OptionsRx - [rdgFilter];
удаляем и добавляем
- Код: Выделить всё
- if rdgFilter in OptionsRx then
 OnFilter(nil);
и еще с футером такие же изменения по замене DrawCellGrid на DrawThemedCell вроде бы работает так как надо. мне







