diff --git a/components/rx/Demos/RxDBGrid/RxDBGridDemo.lpi b/components/rx/Demos/RxDBGrid/RxDBGridDemo.lpi index 952a5d571..91bd94641 100644 --- a/components/rx/Demos/RxDBGrid/RxDBGridDemo.lpi +++ b/components/rx/Demos/RxDBGrid/RxDBGridDemo.lpi @@ -54,17 +54,15 @@ - + - - @@ -75,8 +73,8 @@ - - + + @@ -501,8 +499,8 @@ - - + + @@ -553,12 +551,10 @@ - - @@ -595,13 +591,10 @@ - - - @@ -609,13 +602,10 @@ - - - @@ -634,134 +624,152 @@ - - + + + + + + + + + + + + + + + + + + + + - + - - + + - - + + - - + + - + - - + + - - + + - - + + - - + + - - + + - + - - + + - - + + - + - + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + diff --git a/components/rx/Demos/RxDBGrid/rxdbgridmainunit.lfm b/components/rx/Demos/RxDBGrid/rxdbgridmainunit.lfm index 5e78cf90e..57d23a382 100644 --- a/components/rx/Demos/RxDBGrid/rxdbgridmainunit.lfm +++ b/components/rx/Demos/RxDBGrid/rxdbgridmainunit.lfm @@ -122,7 +122,6 @@ object RxDBGridMainForm: TRxDBGridMainForm 0000EEEEEEEEEEE00000EEEEEEEEEEE00000 } Hint = 'Clear value' - NumGlyphs = 0 OnClick = TRxColumnEditButtons2Click end> end @@ -186,7 +185,6 @@ object RxDBGridMainForm: TRxDBGridMainForm BB06666600000000006666666000066666666666666666666666 } Hint = 'Первая кнопка' - NumGlyphs = 0 Width = 16 OnClick = TRxColumnEditButtons0Click end @@ -209,7 +207,6 @@ object RxDBGridMainForm: TRxDBGridMainForm 00000000000000000000 } Hint = 'Вторая кнопка' - NumGlyphs = 0 OnClick = TRxColumnEditButtons1Click end> end> @@ -492,7 +489,11 @@ object RxDBGridMainForm: TRxDBGridMainForm FieldKind = fkData FieldName = 'Developer' Index = 3 + KeyFields = 'DEVELOPER_ID' LookupCache = False + LookupDataSet = RxMemoryData2 + LookupKeyFields = 'DEVELOPER_ID' + LookupResultField = 'DEVELOPER_NAME' ProviderFlags = [pfInUpdate, pfInWhere] ReadOnly = False Required = False @@ -513,11 +514,7 @@ object RxDBGridMainForm: TRxDBGridMainForm FieldKind = fkData FieldName = 'DEVELOPER_ID' Index = 5 - KeyFields = 'DEVELOPER_ID' LookupCache = False - LookupDataSet = RxMemoryData2 - LookupKeyFields = 'DEVELOPER_ID' - LookupResultField = 'DEVELOPER_NAME' ProviderFlags = [pfInUpdate, pfInWhere] ReadOnly = False Required = False @@ -605,8 +602,8 @@ object RxDBGridMainForm: TRxDBGridMainForm end object Datasource2: TDatasource DataSet = RxMemoryData2 - left = 207 - top = 264 + left = 288 + top = 368 end object RxMemoryData2: TRxMemoryData AutoCalcFields = False @@ -624,8 +621,8 @@ object RxDBGridMainForm: TRxDBGridMainForm Size = 130 end> PacketRecords = 0 - left = 248 - top = 264 + left = 329 + top = 368 object RxMemoryData2DEVELOPER_ID1: TLongintField DisplayWidth = 10 FieldKind = fkData diff --git a/components/rx/languages/rxdconst.es.po b/components/rx/languages/rxdconst.es.po index d0f67a205..8aa2060f1 100644 --- a/components/rx/languages/rxdconst.es.po +++ b/components/rx/languages/rxdconst.es.po @@ -349,6 +349,10 @@ msgstr "Operando :" msgid "Enter filter expression for data in table:" msgstr "Seleccionar todos los registros que cumplan las siguientes condiciónes :" +#: rxdconst.srxfindmore +msgid "Find more" +msgstr "" + #: rxdconst.srxselectdatasetstruct msgid "Select dataset to copy to" msgstr "Seleccionar conjunto de datos para copiar" diff --git a/components/rx/languages/rxdconst.po b/components/rx/languages/rxdconst.po index bdda86dbd..73403c78b 100644 --- a/components/rx/languages/rxdconst.po +++ b/components/rx/languages/rxdconst.po @@ -349,6 +349,10 @@ msgstr "" msgid "Enter filter expression for data in table:" msgstr "" +#: rxdconst.srxfindmore +msgid "Find more" +msgstr "" + #: rxdconst.srxselectdatasetstruct msgid "Select dataset to copy to" msgstr "" diff --git a/components/rx/languages/rxdconst.ru.po b/components/rx/languages/rxdconst.ru.po index a52a19352..ac6203201 100644 --- a/components/rx/languages/rxdconst.ru.po +++ b/components/rx/languages/rxdconst.ru.po @@ -266,7 +266,7 @@ msgstr "Искать по полю" #: rxdconst.srxdbgridfindpartial msgid "Partial key" -msgstr "Частиный поиск" +msgstr "Поиск по вхождению" #: rxdconst.srxdbgridfindrangeall msgid "All" @@ -349,6 +349,10 @@ msgstr "Операнд :" msgid "Enter filter expression for data in table:" msgstr "Введите выражение фильтрации данных в таблице:" +#: rxdconst.srxfindmore +msgid "Find more" +msgstr "Искать далее" + #: rxdconst.srxselectdatasetstruct msgid "Select dataset to copy to" msgstr "Выберите таблицу для копирования" diff --git a/components/rx/rxdbgrid.pas b/components/rx/rxdbgrid.pas index f447ff46b..44474d8da 100644 --- a/components/rx/rxdbgrid.pas +++ b/components/rx/rxdbgrid.pas @@ -788,6 +788,7 @@ type procedure msg_SetGrid(var Msg: TGridMessage); message GM_SETGRID; procedure msg_SetValue(var Msg: TGridMessage); message GM_SETVALUE; procedure ShowList; override; + procedure OnInternalClosePopup(AResult:boolean);override; public constructor Create(AOwner: TComponent); override; destructor Destroy; override; @@ -1263,6 +1264,19 @@ begin inherited ShowList; end; +procedure TRxDBGridLookupComboEditor.OnInternalClosePopup(AResult: boolean); +var + F:TField; +begin + inherited OnInternalClosePopup(AResult); + if (AResult) and Assigned(FGrid.SelectedField) and Assigned(FLDS.DataSet) then + begin + F:=FLDS.DataSet.FieldByName(LookupDisplay); + if Assigned(F) then + FGrid.SelectedField.Assign(F); + end; +end; + constructor TRxDBGridLookupComboEditor.Create(AOwner: TComponent); begin inherited Create(AOwner); @@ -2643,6 +2657,8 @@ var Cell: TGridCoord; Rect: TRect; begin + QuickUTF8Search := ''; + Cell := MouseCoord(X, Y); if (DatalinkActive) and (DataSource.DataSet.State = dsBrowse) and (Button = mbLeft) and (Cell.X = 0) and (Cell.Y = 0) and diff --git a/components/rx/rxdbgrid_findunit.lfm b/components/rx/rxdbgrid_findunit.lfm index e9fd71b02..3eec12950 100644 --- a/components/rx/rxdbgrid_findunit.lfm +++ b/components/rx/rxdbgrid_findunit.lfm @@ -1,25 +1,25 @@ object rxDBGridFindForm: TrxDBGridFindForm - Left = 474 - Height = 232 - Top = 384 + Left = 969 + Height = 225 + Top = 314 Width = 493 ActiveControl = Edit1 Caption = 'Find' - ClientHeight = 232 + ClientHeight = 225 ClientWidth = 493 OnCreate = FormCreate OnShow = FormShow - Position = poDesktopCenter - LCLVersion = '0.9.29' + Position = poScreenCenter + LCLVersion = '1.1' object Label1: TLabel AnchorSideLeft.Control = Owner AnchorSideTop.Control = Owner AnchorSideBottom.Control = Edit1 AnchorSideBottom.Side = asrBottom Left = 6 - Height = 18 + Height = 15 Top = 6 - Width = 78 + Width = 66 BorderSpacing.Around = 6 Caption = 'Text to find' FocusControl = Edit1 @@ -32,9 +32,9 @@ object rxDBGridFindForm: TrxDBGridFindForm AnchorSideBottom.Control = ComboBox1 AnchorSideBottom.Side = asrBottom Left = 6 - Height = 18 - Top = 65 - Width = 80 + Height = 15 + Top = 58 + Width = 68 BorderSpacing.Around = 6 Caption = 'Find at filed' ParentColor = False @@ -43,10 +43,10 @@ object rxDBGridFindForm: TrxDBGridFindForm AnchorSideRight.Control = Button2 AnchorSideBottom.Control = Owner AnchorSideBottom.Side = asrBottom - Left = 334 - Height = 37 - Top = 189 - Width = 88 + Left = 347 + Height = 35 + Top = 184 + Width = 79 Anchors = [akRight, akBottom] AutoSize = True BorderSpacing.Around = 6 @@ -63,10 +63,10 @@ object rxDBGridFindForm: TrxDBGridFindForm AnchorSideRight.Side = asrBottom AnchorSideBottom.Control = Owner AnchorSideBottom.Side = asrBottom - Left = 428 - Height = 37 - Top = 189 - Width = 59 + Left = 432 + Height = 35 + Top = 184 + Width = 55 Anchors = [akRight, akBottom] AutoSize = True BorderSpacing.Top = 8 @@ -84,8 +84,8 @@ object rxDBGridFindForm: TrxDBGridFindForm AnchorSideRight.Control = Owner AnchorSideRight.Side = asrBottom Left = 18 - Height = 29 - Top = 30 + Height = 25 + Top = 27 Width = 469 Anchors = [akTop, akLeft, akRight] BorderSpacing.Around = 6 @@ -98,8 +98,8 @@ object rxDBGridFindForm: TrxDBGridFindForm AnchorSideRight.Control = Owner AnchorSideRight.Side = asrBottom Left = 12 - Height = 31 - Top = 89 + Height = 29 + Top = 79 Width = 475 Anchors = [akTop, akLeft, akRight] BorderSpacing.Around = 6 @@ -112,9 +112,9 @@ object rxDBGridFindForm: TrxDBGridFindForm AnchorSideTop.Control = ComboBox1 AnchorSideTop.Side = asrBottom Left = 6 - Height = 19 - Top = 126 - Width = 126 + Height = 22 + Top = 114 + Width = 118 BorderSpacing.Around = 6 Caption = 'Case sensetive' TabOrder = 2 @@ -126,10 +126,10 @@ object rxDBGridFindForm: TrxDBGridFindForm AnchorSideTop.Side = asrBottom AnchorSideRight.Control = Owner AnchorSideRight.Side = asrBottom - Left = 138 - Height = 52 - Top = 126 - Width = 349 + Left = 130 + Height = 51 + Top = 114 + Width = 357 Anchors = [akTop, akLeft, akRight] AutoFill = True AutoSize = True @@ -143,8 +143,8 @@ object rxDBGridFindForm: TrxDBGridFindForm ChildSizing.ShrinkVertical = crsScaleChilds ChildSizing.Layout = cclLeftToRightThenTopToBottom ChildSizing.ControlsPerLine = 3 - ClientHeight = 31 - ClientWidth = 341 + ClientHeight = 34 + ClientWidth = 353 Columns = 3 Items.Strings = ( 'All' @@ -159,9 +159,9 @@ object rxDBGridFindForm: TrxDBGridFindForm AnchorSideTop.Control = CheckBox1 AnchorSideTop.Side = asrBottom Left = 6 - Height = 19 - Top = 151 - Width = 88 + Height = 22 + Top = 142 + Width = 84 BorderSpacing.Around = 6 Caption = 'Partial key' TabOrder = 3 diff --git a/components/rx/rxdbgrid_findunit.pas b/components/rx/rxdbgrid_findunit.pas index 0d1666338..ca4e67197 100644 --- a/components/rx/rxdbgrid_findunit.pas +++ b/components/rx/rxdbgrid_findunit.pas @@ -68,7 +68,7 @@ type procedure ShowRxDBGridFindForm(Grid:TRxDBGrid); implementation -uses dbutils, DBGrids, rxdconst; +uses dbutils, DBGrids, rxdconst, LCLStrConsts; {$R *.lfm} @@ -101,6 +101,8 @@ begin RadioGroup1.Items.Add(sRxDbGridFindRangeAll); RadioGroup1.Items.Add(sRxDbGridFindRangeForw); RadioGroup1.Items.Add(sRxDbGridFindRangeBack); + BtnFind.Caption:=sRxFindMore; + Button2.Caption:=rsMbClose; end; procedure TrxDBGridFindForm.FormShow(Sender: TObject); diff --git a/components/rx/rxdconst.pas b/components/rx/rxdconst.pas index 67bb11284..a8c4dcd85 100644 --- a/components/rx/rxdconst.pas +++ b/components/rx/rxdconst.pas @@ -148,6 +148,7 @@ resourcestring sRxDbGridFindRangeAll = 'All'; sRxDbGridFindRangeForw = 'Forward'; sRxDbGridFindRangeBack = 'Backward'; + sRxFindMore = 'Find more'; //TrxDBGridColumsForm sRxDbGridSelColCaption = 'Grid columns'; diff --git a/components/rx/rxlookup.pas b/components/rx/rxlookup.pas index c516193f3..2a186f430 100644 --- a/components/rx/rxlookup.pas +++ b/components/rx/rxlookup.pas @@ -1476,8 +1476,9 @@ begin begin if Assigned(FDataField) and FDataField.IsNull then begin + SetRect(R1, 6, 6, ClientWidth - 6 - GetButtonWidth, ClientHeight - 6); Canvas.Brush.Color:=FEmptyItemColor; - Canvas.FillRect(R); + Canvas.FillRect(R1); AText:=FEmptyValue end else @@ -1584,7 +1585,8 @@ begin FButton.ControlStyle := FButton.ControlStyle + [csNoDesignSelectable]; FButton.Align:=alRight; FButton.BorderSpacing.Around:=2; - + //FButton.TabStop:=true; + ControlStyle := ControlStyle - [csSetCaption]; FDirectInput := True; ParentColor:=false;