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;