dedrasta писал(а):Для просмотра файла использую MS Excel
А что там в качестве формулы ставиться? Я в LO тестирую. Там нормально.
Модераторы: alexs, Модераторы
dedrasta писал(а):Для просмотра файла использую MS Excel
alexs писал(а):dedrasta писал(а):Для просмотра файла использую MS Excel
А что там в качестве формулы ставиться? Я в LO тестирую. Там нормально.
dedrasta писал(а):Видимо, Excel не воспринимает формулы из файла .ods
alexs писал(а):1. Можно пример?
alexs писал(а):Проблема наблюдается при хитрых условиях:
в опциях включены dgThumbTracking и dgRowSelect - как временное решение можно просто пока выключить эти флаги.
Проблема находится в штатном DBGrid и даже в StringGrid (хотя тут не так ярко выражена).
Напиши в багтрекер лазаря. Что-то там с событиями прорисовки и скролинга напутали.
procedure TForm.DBGrRxDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
Memo1.Lines.Add('1. DBGrRxDrawColumnCell -> ' +
'Datacol: ' + IntToStr(DataCol) +
' Column.FieldName: ' + Column.FieldName +
' Column.Index: ' + IntToStr(Column.Index));
1. DBGrRxDrawColumnCell -> Datacol: 2 Column.FieldName: fullname Column.Index: 2
procedure TNomenclatureForm.DBGrRxColumns1DrawColumnCell(
Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
Memo1.Lines.Add('2. DBGrRxColumns1DrawColumnCell -> ' +
'Datacol: ' + IntToStr(DataCol) +
' Column.FieldName: ' + Column.FieldName +
' Column.Index: ' + IntToStr(Column.Index));
2. DBGrRxColumns1DrawColumnCell -> Datacol: 3 Column.FieldName: fullname Column.Index: 2
V@S писал(а):Делаю свою отрисовку в гриде, по факту нужно по-своему отрисовать один столбец.
V@S писал(а):Тот же индикатор должен тогда учитываться и при вызове события OnDrawColumnCell для всего грида, а не учитывается видимо.
if Assigned(OnDrawColumnCell) and not (CsDesigning in ComponentState) then
begin
DataCol := ColumnIndexFromGridColumn(aCol);
if not Assigned(C) then
C:=TRxColumn(ColumnFromGridColumn(aCol));
OnDrawColumnCell(Self, aRect, DataCol, C, aState)
end
alexs писал(а):Можно пример?
Повторить не могу - нормально выравнивание срабатывает.
alexs писал(а):Номер колонки - стандартная функция ColumnIndexFromGridColumn.
aCol := DataCol;
if (dgIndicator in TRxDBGrid(Sender).Options) then
dec(aCol);
TRxDBGrid(Sender).DefaultDrawColumnCell(Rect, aCol, Column, State);
V@S писал(а):О блин, создал пустой проект для примера. А в нем тоже не воспроизводится. Буду копать основной проект
V@S писал(а):Даже вот такой костыль прописал в коде для колонки:
alexs писал(а):Индикатор в потрохах грида - это тоже колонка.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5