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 @@ <Icon Value="0"/> <UseXPManifest Value="True"/> - <ActiveEditorIndexAtStart Value="2"/> + <ActiveEditorIndexAtStart Value="0"/> </General> <VersionInfo> <UseVersionInfo Value="True"/> <CurrentVersionNr Value="3"/> - <CurrentMajorRevNr Value="1"/> + <CurrentMajorRevNr Value="2"/> <CurrentMinorRevNr Value="2"/> <ProjectVersion Value="3.1.1.0"/> <FileDescription Value="Demo application from RXFPC library"/> @@ -51,14 +51,14 @@ <MinVersion Major="1" Release="18" Build="56" Valid="True"/> </Item4> </RequiredPackages> - <Units Count="21"> + <Units Count="22"> <Unit0> <Filename Value="RxDBGridDemo.lpr"/> <IsPartOfProject Value="True"/> <UnitName Value="RxDBGridDemo"/> <CursorPos X="3" Y="11"/> <TopLine Value="1"/> - <UsageCount Value="29"/> + <UsageCount Value="30"/> </Unit0> <Unit1> <Filename Value="rxdbgridmainunit.pas"/> @@ -67,9 +67,9 @@ <ResourceBaseClass Value="Form"/> <UnitName Value="RxDBGridMainUnit"/> <CursorPos X="39" Y="169"/> - <TopLine Value="168"/> + <TopLine Value="165"/> <EditorIndex Value="0"/> - <UsageCount Value="29"/> + <UsageCount Value="30"/> <Loaded Value="True"/> </Unit1> <Unit2> @@ -192,14 +192,12 @@ <Unit19> <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> <UnitName Value="rxdbgrid"/> - <CursorPos X="15" Y="294"/> - <TopLine Value="283"/> - <EditorIndex Value="2"/> + <CursorPos X="3" Y="1873"/> + <TopLine Value="1797"/> <UsageCount Value="10"/> <Bookmarks Count="1"> - <Item0 X="32" Y="1711" ID="1"/> + <Item0 X="1" Y="1250" ID="1"/> </Bookmarks> - <Loaded Value="True"/> </Unit19> <Unit20> <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid_columsunit.pas"/> @@ -209,137 +207,25 @@ <UnitName Value="rxdbgrid_columsunit"/> <CursorPos X="46" Y="45"/> <TopLine Value="26"/> - <EditorIndex Value="1"/> <UsageCount Value="10"/> - <Loaded Value="True"/> </Unit20> + <Unit21> + <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdconst.pas"/> + <UnitName Value="rxdconst"/> + <CursorPos X="15" Y="155"/> + <TopLine Value="126"/> + <UsageCount Value="10"/> + </Unit21> </Units> - <JumpHistory Count="30" HistoryIndex="29"> - <Position1> - <Filename Value="rxdbgridmainunit.pas"/> - <Caret Line="127" Column="19" TopLine="125"/> - </Position1> - <Position2> - <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> - <Caret Line="2672" Column="14" TopLine="2670"/> - </Position2> - <Position3> - <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid_columsunit.pas"/> - <Caret Line="27" Column="35" TopLine="14"/> - </Position3> - <Position4> - <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid_columsunit.pas"/> - <Caret Line="46" Column="45" TopLine="37"/> - </Position4> - <Position5> - <Filename Value="rxdbgridmainunit.pas"/> - <Caret Line="127" Column="19" TopLine="125"/> - </Position5> - <Position6> - <Filename Value="rxdbgridmainunit.pas"/> - <Caret Line="129" Column="19" TopLine="125"/> - </Position6> - <Position7> - <Filename Value="rxdbgridmainunit.pas"/> - <Caret Line="128" Column="19" TopLine="125"/> - </Position7> - <Position8> - <Filename Value="rxdbgridmainunit.pas"/> - <Caret Line="129" Column="19" TopLine="125"/> - </Position8> - <Position9> - <Filename Value="rxdbgridmainunit.pas"/> - <Caret Line="131" Column="19" TopLine="125"/> - </Position9> - <Position10> - <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid_columsunit.pas"/> - <Caret Line="27" Column="1" TopLine="15"/> - </Position10> - <Position11> - <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid_columsunit.pas"/> - <Caret Line="46" Column="1" TopLine="17"/> - </Position11> - <Position12> - <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid_columsunit.pas"/> - <Caret Line="26" Column="35" TopLine="8"/> - </Position12> - <Position13> - <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid_columsunit.pas"/> - <Caret Line="129" Column="3" TopLine="101"/> - </Position13> - <Position14> - <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> - <Caret Line="247" Column="16" TopLine="217"/> - </Position14> - <Position15> - <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> - <Caret Line="860" Column="18" TopLine="842"/> - </Position15> - <Position16> - <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> - <Caret Line="862" Column="18" TopLine="842"/> - </Position16> - <Position17> - <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> - <Caret Line="1588" Column="18" TopLine="1570"/> - </Position17> - <Position18> - <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> - <Caret Line="1590" Column="18" TopLine="1570"/> - </Position18> - <Position19> - <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> - <Caret Line="1594" Column="16" TopLine="1570"/> - </Position19> - <Position20> - <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> - <Caret Line="1711" Column="32" TopLine="1693"/> - </Position20> - <Position21> - <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> - <Caret Line="1725" Column="16" TopLine="1693"/> - </Position21> - <Position22> - <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> - <Caret Line="2452" Column="18" TopLine="2434"/> - </Position22> - <Position23> - <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> - <Caret Line="2560" Column="18" TopLine="2542"/> - </Position23> - <Position24> - <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> - <Caret Line="1" Column="1" TopLine="1"/> - </Position24> - <Position25> - <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> - <Caret Line="247" Column="16" TopLine="229"/> - </Position25> - <Position26> - <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> - <Caret Line="860" Column="18" TopLine="842"/> - </Position26> - <Position27> - <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> - <Caret Line="862" Column="18" TopLine="842"/> - </Position27> - <Position28> - <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> - <Caret Line="1588" Column="18" TopLine="1570"/> - </Position28> - <Position29> - <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> - <Caret Line="1590" Column="18" TopLine="1570"/> - </Position29> - <Position30> - <Filename Value="../../../../../../../../usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> - <Caret Line="1594" Column="16" TopLine="1570"/> - </Position30> - </JumpHistory> + <JumpHistory Count="0" HistoryIndex="-1"/> </ProjectOptions> <CompilerOptions> <Version Value="8"/> + <Target> + <Filename Value="RxDBGridDemo"/> + </Target> <SearchPaths> + <UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/> <SrcPath Value="$(LazarusDir)/lcl/;$(LazarusDir)/lcl/interfaces/$(LCLWidgetType)/"/> </SearchPaths> <Linking> 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