Доработки Rx
Модераторы: alexs, Модераторы
TRxIniPropStorage = class(TIniPropStorage)
...
protected
function DoReadString(const Section, Ident, DefaultValue: string): string; override;
implementation
function TRxIniPropStorage.DoReadString(const Section, Ident, DefaultValue: string): string;
begin
Result := inherited;
if (Pos('Width', Ident) > 0) or (Pos('Height', Ident) > 0) then begin
Result := IntToStr(Application.MainForm.Scale96ToForm(StrToInt(Result)))
end;
end;
...
protected
function DoReadString(const Section, Ident, DefaultValue: string): string; override;
implementation
function TRxIniPropStorage.DoReadString(const Section, Ident, DefaultValue: string): string;
begin
Result := inherited;
if (Pos('Width', Ident) > 0) or (Pos('Height', Ident) > 0) then begin
Result := IntToStr(Application.MainForm.Scale96ToForm(StrToInt(Result)))
end;
end;
Можно ли сделать в RxDBGrid фиксированные колонки, которые бы были как обычные (возможность менять ширину, редактировать и т.д.), но не прокручивались влево (по типу Закрепить области в Excele)? Стандартное FixedCols не дает менять размеры и делать невидимыми.
Добавлено спустя 14 минут 15 секунд:
И еще в rxdbutils в функции DataSetLocateThrough при поиске по нескольким полям не выполнялся код.
Нужно:
Добавлено спустя 14 минут 15 секунд:
И еще в rxdbutils в функции DataSetLocateThrough при поиске по нескольким полям не выполнялся код.
Код: Выделить всё
function CompareRecord: Boolean;
var
I: Integer;
begin
if FieldCount = 1 then
Result := CompareField(TField(Fields.First), KeyValues)
else begin
Result := True;
for I := 0 to FieldCount - 1 do
Result := Result and CompareField(TField(Fields[I]), KeyValues[I]);
end;
end; Нужно:
Код: Выделить всё
function CompareRecord: Boolean;
var
I: Integer;
begin
if FieldCount = 1 then
Result := CompareField(TField(Fields.First), KeyValues)
else begin
Result := False;
for I := 0 to FieldCount - 1 do
if not Result then
Result := CompareField(TField(Fields[I]), KeyValues[I])
else
Break;
end;
end; - alexs
- долгожитель
- Сообщения: 4066
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
Не понял предложения
Там же получается - что если 1-е поле - истина - то сразу на 2-й итерации выскочет
Текущий код верно работает. В качестве оптимизации просто можно добавить чтобы цикл прерывался - если есть не совпадение.
Там же получается - что если 1-е поле - истина - то сразу на 2-й итерации выскочет
Текущий код верно работает. В качестве оптимизации просто можно добавить чтобы цикл прерывался - если есть не совпадение.
Можна в TRxDBGridPrint добавить собитие OnAfterPrint из FReport : TfrReport; ?
alexs писал(а):Не понял предложения
Это я по невнимательности
Когда то давно переделал этот код для поиска одного значения по нескольким полям, и если находилось совпадение, то выходил из цикла. А тут попалось на глаза, и почему-то подумал, что исправил баг.
Надо зафиксировать что таблица распечатана на принтере
Или добавить опцию непосредсвенной печати после формирования:
function TRxDBGridPrint.DoExecTools: boolean;
...
FReport.PrepareReport;
if rxpoPrint in Options then
FReport.PrintPreparedReport
else
FReport.ShowPreparedReport
Или добавить опцию непосредсвенной печати после формирования:
function TRxDBGridPrint.DoExecTools: boolean;
...
FReport.PrepareReport;
if rxpoPrint in Options then
FReport.PrintPreparedReport
else
FReport.ShowPreparedReport
- alexs
- долгожитель
- Сообщения: 4066
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
Смотрим ревизию 6752.
Переписал RxToolbar
В основном совместимость осталась
Добавил поддержку масштабирования интерфейса на больших мониторах - в том числе и иконок на кнопках.
Переработал код сохранения/восстановления состояния для поддержки в будущем настройки по всему списку акшенов на форме. Сохраняется позиция разделителей.
Теперь нет возможности кнопки располагать в произвольном порядке - всегда прижаты либо к левому краю, либо к правому
Доработал окно настройки тулбара из программы - правильно отображаются разделители. Окно стало модальным - расположение кнопок на панели изменяется напрямую из окна.
Переписал RxToolbar
В основном совместимость осталась
Добавил поддержку масштабирования интерфейса на больших мониторах - в том числе и иконок на кнопках.
Переработал код сохранения/восстановления состояния для поддержки в будущем настройки по всему списку акшенов на форме. Сохраняется позиция разделителей.
Теперь нет возможности кнопки располагать в произвольном порядке - всегда прижаты либо к левому краю, либо к правому
Доработал окно настройки тулбара из программы - правильно отображаются разделители. Окно стало модальным - расположение кнопок на панели изменяется напрямую из окна.
alexs писал(а):Посмотри ревизию 6749.
Добавил новый флаг rxpoShowPreview - оно?
Да. Спасибо!
Господа, извините, если не в тему, но никак не могу найти, где можно скачать текущую версию Rx под Lazarus
