fix error in rxdbgrid

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@893 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
alexs75
2009-07-02 16:37:41 +00:00
parent 60af6c3393
commit 8f8177ebc0
5 changed files with 132 additions and 82 deletions

View File

@ -10,6 +10,15 @@
+ In TRxDateEdit add new property - ValidDate. Check valid input. + In TRxDateEdit add new property - ValidDate. Check valid input.
+ add 2 component from original RX: TRxSpinButton � TRxSpinEdit (Edward Ivanov) + add 2 component from original RX: TRxSpinButton � TRxSpinEdit (Edward Ivanov)
- fix images for TRxClock, TRxDateEdit, TAutoPanel (Edward Ivanov) - fix images for TRxClock, TRxDateEdit, TAutoPanel (Edward Ivanov)
- fix error in TRxDatePicker (Edward Ivanov)
+ Add new components: TRxDBSpinEdit, TRxTimeEdit, TRxDBTimeEdit
+ TRxLoginDialo now work.
+ Rewrite code for draw vertical text in titles RXDBGrid. Code from TAChart
+ published BorderSpacing in TRxLabel
+ add demo application for AutoSort in RxDBGrid
- fix sort order in TRxMemDataSet
- fix draw buttons in ToolPanel with use system themes
- fix error in TRxDBComboBox
22.05.2008 - version 2.0.0.136 (svn revision 100) 22.05.2008 - version 2.0.0.136 (svn revision 100)
+ In TRxCustomDBLookupCombo add check for CircularDataLink + In TRxCustomDBLookupCombo add check for CircularDataLink
+ in TRxCustomDBLookupCombo accelerated drawing data + in TRxCustomDBLookupCombo accelerated drawing data

View File

@ -15,13 +15,14 @@
+ Добавлены компоненты TRxDBSpinEdit, TRxTimeEdit, TRxDBTimeEdit + Добавлены компоненты TRxDBSpinEdit, TRxTimeEdit, TRxDBTimeEdit
+ TRxLoginDialo теперь работает. По сравнению с оригинальным функционал сильно расширен. + TRxLoginDialo теперь работает. По сравнению с оригинальным функционал сильно расширен.
Изменён дизайн формы Изменён дизайн формы
+ Улучшена отриосвка вертикальных заголовков в гриде. Код из TAChart + Улучшена отрисовка вертикальных заголовков в гриде. Код из TAChart
+ Опубликова BorderSpacing в TRxLabel + Опубликова BorderSpacing в TRxLabel
+ Добавлен пример для использования автоматической сортировки в RxDBGrid + Добавлен пример для использования автоматической сортировки в RxDBGrid
- Исправлена сортировка при использовании TRxMemDataSet - Исправлена сортировка при использовании TRxMemDataSet
- Исправлена отрисова кнопки в ToolPanel при отрисовке с использованием текущей темы - Исправлена отрисова кнопки в ToolPanel при отрисовке с использованием текущей темы
+ Реализована возможность объединения ячеек в заголовке таблицы + Реализована возможность объединения ячеек в заголовке таблицы
(смотрите в демке на RxDBGrid) (смотрите в демке на RxDBGrid)
- Исправлена ошибка установки значения для TRxDBComboBox
22.05.2008 - версия 2.0.0.136 (svn revision 100) 22.05.2008 - версия 2.0.0.136 (svn revision 100)
+ У объекта TRxCustomDBLookupCombo введён контроль на CircularDataLink + У объекта TRxCustomDBLookupCombo введён контроль на CircularDataLink
+ У объекта TRxCustomDBLookupCombo ускорена отрисовка данных + У объекта TRxCustomDBLookupCombo ускорена отрисовка данных

View File

@ -0,0 +1,32 @@
<?xml version="1.0"?>
<fpdoc-descriptions>
<package name="dcl_rx_fpc"/>
<package name="rxfpc">
<module name="rxdbgrid"/>
<module name="rxctrls">
<topic name="TRxLabel">
<descr>Unit
RxCtrls
Description
Компонента TRxLabel аналогична стандартной компоненте VCL TLabel, однако дополнительно позволяет придать тексту статического элемента управления (Label) 3-мерный вид, либо отобразить "тень" текста.
С помощью свойст ShadowPos, ShadowColor и ShadowSize вы можете задать расположение, цвет и толщину "тени" букв текста. Значения, заданные для этих свойств по умолчанию, создают "трехмерный" эффект изображения текс</descr>
</topic>
<element name="Align"/>
<element name="Alignment"/>
<element name="Alignment"/>
<element name="Alignment"/>
<element name="Color"/>
<element name="DragCursor"/>
<element name="DragMode"/>
<element name="Enabled"/>
<element name="TRxLabelENodeName"/>
<element name="Constraints"/>
<topic name="Constraints">
<element name="TRxLabelENodeNameENodeName"/>
</topic>
<element name="TRxLabelENodeNameENodeName">
<element name="TRxLabelENodeNameENodeNameENodeName"/>
</element>
</module>
</package>
</fpdoc-descriptions>

View File

@ -191,7 +191,6 @@ end;
procedure TCustomDBComboBox.UpdateData(Sender: TObject); procedure TCustomDBComboBox.UpdateData(Sender: TObject);
begin begin
FDataLink.Field.Text := ComboText;
FDataLink.Field.AsString := ComboText; FDataLink.Field.AsString := ComboText;
end; end;
@ -238,6 +237,7 @@ procedure TCustomDBComboBox.Change;
begin begin
FDataLink.Edit; FDataLink.Edit;
inherited Change; inherited Change;
FDataLink.UpdateRecord;
FDataLink.Modified; FDataLink.Modified;
end; end;

View File

@ -867,7 +867,11 @@ var
rxTit, rxTitleNext:TRxColumnTitle; rxTit, rxTitleNext:TRxColumnTitle;
MLRec1:TMLCaptionItem; MLRec1:TMLCaptionItem;
MLRec2:TMLCaptionItem; MLRec2:TMLCaptionItem;
tmpCanvas: TCanvas;
begin begin
if RowCount = 0 then exit;
tmpCanvas := GetWorkingCanvas(Canvas);
try
H:=1; H:=1;
ClearMLCaptionPointers; ClearMLCaptionPointers;
for i:=0 to Columns.Count-1 do for i:=0 to Columns.Count-1 do
@ -879,7 +883,7 @@ begin
if Assigned(rxTit) then if Assigned(rxTit) then
begin begin
if rxTit.Orientation in [toVertical270, toVertical90] then if rxTit.Orientation in [toVertical270, toVertical90] then
H:=Max((Canvas.TextWidth(Columns[i].Title.Caption)+ Canvas.TextWidth('W')) div DefaultRowHeight, H) H:=Max((tmpCanvas.TextWidth(Columns[i].Title.Caption)+ tmpCanvas.TextWidth('W')) div DefaultRowHeight, H)
else else
begin begin
rxColNext:=nil; rxColNext:=nil;
@ -917,7 +921,7 @@ begin
end; end;
end; end;
MLRec1.Width:=Canvas.TextWidth(MLRec1.Caption)+2; MLRec1.Width:=tmpCanvas.TextWidth(MLRec1.Caption)+2;
if W > MLRec1.Width then if W > MLRec1.Width then
H2:=1 H2:=1
@ -932,7 +936,7 @@ begin
end end
else else
begin begin
H1:=Max((Canvas.TextWidth(rxTit.Caption)+2) div W + 1, H); H1:=Max((tmpCanvas.TextWidth(rxTit.Caption)+2) div W + 1, H);
if H1>WordCount(rxTit.Caption, [' ']) then if H1>WordCount(rxTit.Caption, [' ']) then
H1:=WordCount(rxTit.Caption, [' ']); H1:=WordCount(rxTit.Caption, [' ']);
end; end;
@ -950,13 +954,17 @@ begin
end; end;
end; end;
RowHeights[0] := DefaultRowHeight * ({FTitleLines+}H); RowHeights[0] := DefaultRowHeight * ({FTitleLines+}H);
if rdgFilter in OptionsRx then if rdgFilter in OptionsRx then
begin begin
RowHeights[0] := RowHeights[0] + DefaultRowHeight; RowHeights[0] := RowHeights[0] + DefaultRowHeight;
end; end;
finally
if TmpCanvas<>Canvas then
FreeWorkingCanvas(tmpCanvas);
end;
end; end;
procedure TRxDBGrid.ClearMLCaptionPointers; procedure TRxDBGrid.ClearMLCaptionPointers;
@ -1121,11 +1129,11 @@ begin
BeginUpdate; BeginUpdate;
try try
inherited CreateWnd; inherited CreateWnd;
// CalcTitle; CalcTitle;
finally finally
EndUpdate; EndUpdate;
end; end;
end;} end; }
procedure TRxDBGrid.DefaultDrawCellA(aCol, aRow: Integer; aRect: TRect; procedure TRxDBGrid.DefaultDrawCellA(aCol, aRow: Integer; aRect: TRect;
aState: TGridDrawState); aState: TGridDrawState);
@ -1906,7 +1914,7 @@ end;
procedure TRxDBGrid.VisualChange; procedure TRxDBGrid.VisualChange;
begin begin
inherited VisualChange; inherited VisualChange;
if Canvas.HandleAllocated then // if Canvas.HandleAllocated then
CalcTitle; CalcTitle;
end; end;