diff --git a/components/rx/Demos/RxDBGrid/RxDBGridDemo.lpi b/components/rx/Demos/RxDBGrid/RxDBGridDemo.lpi
index 7024a2bda..7c0a7069d 100644
--- a/components/rx/Demos/RxDBGrid/RxDBGridDemo.lpi
+++ b/components/rx/Demos/RxDBGrid/RxDBGridDemo.lpi
@@ -11,12 +11,12 @@
-
+
-
+
@@ -51,14 +51,14 @@
-
+
-
+
@@ -67,9 +67,9 @@
-
+
-
+
@@ -192,14 +192,12 @@
-
-
-
+
+
-
+
-
@@ -209,137 +207,25 @@
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
diff --git a/components/rx/Demos/RxDBGrid/RxDBGridDemo.rc b/components/rx/Demos/RxDBGrid/RxDBGridDemo.rc
index 773dd2c83..3e19426e5 100644
--- a/components/rx/Demos/RxDBGrid/RxDBGridDemo.rc
+++ b/components/rx/Demos/RxDBGrid/RxDBGridDemo.rc
@@ -1,5 +1,5 @@
1 VERSIONINFO
-FILEVERSION 3,1,2,0
+FILEVERSION 3,2,2,0
PRODUCTVERSION 3,1,1,0
{
BLOCK "StringFileInfo"
@@ -9,7 +9,7 @@ PRODUCTVERSION 3,1,1,0
VALUE "Comments", "\000"
VALUE "CompanyName", "\000"
VALUE "FileDescription", "Demo application from RXFPC library\000"
- VALUE "FileVersion", "3.1.2.0\000"
+ VALUE "FileVersion", "3.2.2.0\000"
VALUE "InternalName", "\000"
VALUE "LegalCopyright", "Lagunov Aleksey, GPL 2\000"
VALUE "LegalTrademarks", "\000"
diff --git a/components/rx/docs/WhatsNew.rus.txt b/components/rx/docs/WhatsNew.rus.txt
index a1cad0551..07e61e9ae 100644
--- a/components/rx/docs/WhatsNew.rus.txt
+++ b/components/rx/docs/WhatsNew.rus.txt
@@ -1,4 +1,4 @@
- + Клавиши PgUp/PgDn корректно пролистывают предыдущий/следующий месяц в TRxCalendarGrid и TRxDateEdit
+ + Клавиши PgUp/PgDn корректно пролистывают предыдущий/следующий месяц в TRxCalendarGrid и TRxDateEdit
+ При попытке редактирования закрытого набора данных TRxMemoryData в сообщении об ошибке выдаётся наименование набора данных
+ Исправлено создание ресурсов из XPM файлов
+ Доработана отрисовка тени у кнопки на TToolPanel
@@ -37,6 +37,13 @@
+ Добавлена демка для RxDBLookup
+ У объекта TRxDBLookupCombo опубликовано свойство Text - установка значения для него вызывает поиск по лукап-листу
+ Локальная фильтрация в RxDBGrid-е использует значения Field.DisplayText, а не Field.AsString
+ + В форме настроек колонок RxDBGrid работает перемещение столбцов
+ + При сохранении состояния RxDBGrid сохраняется также положение столбцов
+ - Исправлена ошибка в RxDBGrid при сохранении состояния Visible колонок
+ + В RxDBGrid в функции поиска колонки по её наименованию TRxDBGrid.ColumnByCaption
+ не учитывается регистр символов
+ + В RxDBGrid сохраняется между сеансами порядок сортировки
+
22.05.2008 - версия 2.0.0.136 (svn revision 100)
+ У объекта TRxCustomDBLookupCombo введён контроль на CircularDataLink
+ У объекта TRxCustomDBLookupCombo ускорена отрисовка данных
diff --git a/components/rx/rxdbgrid.pas b/components/rx/rxdbgrid.pas
index b0a1ef101..fb62654bf 100644
--- a/components/rx/rxdbgrid.pas
+++ b/components/rx/rxdbgrid.pas
@@ -1238,7 +1238,16 @@ begin
FPropertyStorageLink.Storage.WriteString(S1+sCaption, StrToHexText(C.Title.Caption));
FPropertyStorageLink.Storage.WriteInteger(S1+sWidth, C.Width);
FPropertyStorageLink.Storage.WriteInteger(S1+sIndex, C.Index);
+ FPropertyStorageLink.Storage.WriteInteger(S1+sVisible, Ord(C.Visible));
end;
+
+ if Assigned(FSortField) then
+ begin
+ FPropertyStorageLink.Storage.WriteInteger(S1+sSortMarker, Ord(FSortOrder));
+ FPropertyStorageLink.Storage.WriteString(S1+sSortField, FSortField.FieldName);
+ end
+ else
+ FPropertyStorageLink.Storage.WriteInteger(S1+sSortMarker, Ord(smNone));
end;
procedure TRxDBGrid.OnIniLoad(Sender: TObject);
@@ -1269,6 +1278,18 @@ begin
end;
end;
end;
+
+ FSortOrder:=TSortMarker(FPropertyStorageLink.Storage.ReadInteger(S1+sSortMarker, Ord(smNone)));
+ if Assigned(FSortEngine) and (FSortOrder<>smNone) and DatalinkActive then
+ begin
+ ColumName:=FPropertyStorageLink.Storage.ReadString(S1+sSortField, '');
+ if ColumName<>'' then
+ begin
+ FSortField:=DataSource.DataSet.FindField(ColumName);
+ if Assigned(FSortField) then
+ FSortEngine.Sort(FSortField, DataSource.DataSet, FSortOrder=smUp);
+ end;
+ end
end;
end;
@@ -2693,8 +2714,9 @@ var
i:integer;
begin
Result:=nil;
+ ACaption:=UpperCase(ACaption);
for i:=0 to Columns.Count - 1 do
- if ACaption = Columns[i].Title.Caption then
+ if ACaption = UpperCase(Columns[i].Title.Caption) then
begin
Result:=TRxColumn(Columns[i]);
exit;
diff --git a/components/rx/rxdconst.pas b/components/rx/rxdconst.pas
index 368a11dd6..449409b98 100644
--- a/components/rx/rxdconst.pas
+++ b/components/rx/rxdconst.pas
@@ -152,6 +152,8 @@ const
sOptions = '.Options';
sCaption = '.Caption';
sIndex = '.Index';
+ sSortMarker = '.SortMarker';
+ sSortField = '.SortField';
implementation