RxDBGrid - add new KeyStroke - Copy cell value. Default - Ctrl+C

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2885 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
alexs75
2014-01-15 11:35:25 +00:00
parent 51b146c43c
commit 3716b6a895
8 changed files with 209 additions and 114 deletions

View File

@ -54,7 +54,7 @@
<MinVersion Major="1" Release="18" Build="56" Valid="True"/>
</Item4>
</RequiredPackages>
<Units Count="96">
<Units Count="101">
<Unit0>
<Filename Value="RxDBGridDemo.lpr"/>
<IsPartOfProject Value="True"/>
@ -71,6 +71,7 @@
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="RxDBGridMainUnit"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="0"/>
<WindowIndex Value="0"/>
<TopLine Value="134"/>
@ -102,15 +103,14 @@
<Unit5>
<Filename Value="../../rxdbgrid.pas"/>
<UnitName Value="rxdbgrid"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="1"/>
<WindowIndex Value="0"/>
<TopLine Value="3955"/>
<CursorPos X="19" Y="3985"/>
<TopLine Value="5421"/>
<CursorPos X="1" Y="5446"/>
<UsageCount Value="16"/>
<Bookmarks Count="2">
<Item0 X="1" Y="4281" ID="1"/>
<Item1 X="1" Y="2506" ID="2"/>
<Item0 X="1" Y="2509" ID="2"/>
<Item1 X="48" Y="4306" ID="1"/>
</Bookmarks>
<Loaded Value="True"/>
</Unit5>
@ -200,9 +200,12 @@
<Unit18>
<Filename Value="../../rxdconst.pas"/>
<UnitName Value="rxdconst"/>
<TopLine Value="126"/>
<CursorPos X="15" Y="155"/>
<UsageCount Value="5"/>
<EditorIndex Value="2"/>
<WindowIndex Value="0"/>
<TopLine Value="98"/>
<CursorPos X="31" Y="114"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit18>
<Unit19>
<Filename Value="../../../lcl/include/winapih.inc"/>
@ -500,7 +503,7 @@
<Unit58>
<Filename Value="../../../../lcl/dbgrids.pas"/>
<UnitName Value="DBGrids"/>
<EditorIndex Value="2"/>
<EditorIndex Value="3"/>
<WindowIndex Value="0"/>
<TopLine Value="3021"/>
<CursorPos X="1" Y="3049"/>
@ -510,7 +513,7 @@
<Unit59>
<Filename Value="../../../../lcl/grids.pas"/>
<UnitName Value="Grids"/>
<EditorIndex Value="3"/>
<EditorIndex Value="4"/>
<WindowIndex Value="0"/>
<TopLine Value="1054"/>
<CursorPos X="14" Y="1068"/>
@ -797,123 +800,159 @@
<CursorPos X="1" Y="63"/>
<UsageCount Value="10"/>
</Unit95>
<Unit96>
<Filename Value="/home/alexs/install/source/fpcsrc/rtl/objpas/classes/classesh.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="511"/>
<CursorPos X="14" Y="527"/>
<UsageCount Value="10"/>
</Unit96>
<Unit97>
<Filename Value="/home/alexs/install/source/fpcsrc/rtl/objpas/classes/classes.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="846"/>
<CursorPos X="3" Y="851"/>
<UsageCount Value="10"/>
</Unit97>
<Unit98>
<Filename Value="../../../../lcl/clipbrd.pp"/>
<UnitName Value="Clipbrd"/>
<WindowIndex Value="0"/>
<TopLine Value="176"/>
<CursorPos X="15" Y="190"/>
<UsageCount Value="10"/>
</Unit98>
<Unit99>
<Filename Value="../../../../lcl/include/clipbrd.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="178"/>
<CursorPos X="3" Y="180"/>
<UsageCount Value="10"/>
</Unit99>
<Unit100>
<Filename Value="/home/alexs/install/source/fpcsrc/rtl/objpas/classes/collect.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="153"/>
<CursorPos X="3" Y="156"/>
<UsageCount Value="10"/>
</Unit100>
</Units>
<JumpHistory Count="29" HistoryIndex="28">
<Position1>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="271" Column="1" TopLine="248"/>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="673" Column="15" TopLine="658"/>
</Position1>
<Position2>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="9" Column="7" TopLine="1"/>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="5325" Column="3" TopLine="5323"/>
</Position2>
<Position3>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="46" Column="3" TopLine="25"/>
<Caret Line="5326" Column="18" TopLine="5323"/>
</Position3>
<Position4>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="33" Column="1" TopLine="28"/>
<Caret Line="119" Column="15" TopLine="112"/>
</Position4>
<Position5>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="274" Column="1" TopLine="244"/>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="138" Column="23" TopLine="113"/>
</Position5>
<Position6>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="151" Column="27" TopLine="149"/>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="140" Column="21" TopLine="115"/>
</Position6>
<Position7>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="782" Column="14" TopLine="768"/>
<Caret Line="142" Column="57" TopLine="117"/>
</Position7>
<Position8>
<Filename Value="../../../../lcl/dbgrids.pas"/>
<Caret Line="473" Column="82" TopLine="459"/>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="5356" Column="3" TopLine="5354"/>
</Position8>
<Position9>
<Filename Value="../../../../lcl/dbgrids.pas"/>
<Caret Line="568" Column="27" TopLine="543"/>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="4469" Column="3" TopLine="4448"/>
</Position9>
<Position10>
<Filename Value="../../../../lcl/dbgrids.pas"/>
<Caret Line="3047" Column="30" TopLine="3020"/>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="1704" Column="48" TopLine="1676"/>
</Position10>
<Position11>
<Filename Value="../../../../lcl/dbgrids.pas"/>
<Caret Line="3048" Column="20" TopLine="3021"/>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="1705" Column="19" TopLine="1675"/>
</Position11>
<Position12>
<Filename Value="../../../../lcl/dbgrids.pas"/>
<Caret Line="429" Column="26" TopLine="415"/>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="3566" Column="45" TopLine="3539"/>
</Position12>
<Position13>
<Filename Value="../../../../lcl/dbgrids.pas"/>
<Caret Line="3036" Column="35" TopLine="3021"/>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="4292" Column="33" TopLine="4292"/>
</Position13>
<Position14>
<Filename Value="../../../../lcl/dbgrids.pas"/>
<Caret Line="429" Column="26" TopLine="415"/>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="4366" Column="1" TopLine="4359"/>
</Position14>
<Position15>
<Filename Value="../../../../lcl/dbgrids.pas"/>
<Caret Line="3045" Column="25" TopLine="3018"/>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="4310" Column="51" TopLine="4291"/>
</Position15>
<Position16>
<Filename Value="../../../../lcl/dbgrids.pas"/>
<Caret Line="429" Column="15" TopLine="415"/>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="652" Column="30" TopLine="639"/>
</Position16>
<Position17>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="984" Column="26" TopLine="971"/>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="1705" Column="62" TopLine="1681"/>
</Position17>
<Position18>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="1204" Column="35" TopLine="1177"/>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="3566" Column="40" TopLine="3542"/>
</Position18>
<Position19>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="1228" Column="26" TopLine="1202"/>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="3553" Column="5" TopLine="3542"/>
</Position19>
<Position20>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="1352" Column="79" TopLine="1327"/>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="3555" Column="1" TopLine="3542"/>
</Position20>
<Position21>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="1457" Column="27" TopLine="1432"/>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="5436" Column="1" TopLine="5420"/>
</Position21>
<Position22>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="1673" Column="27" TopLine="1648"/>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="5437" Column="1" TopLine="5420"/>
</Position22>
<Position23>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="3380" Column="34" TopLine="3353"/>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="5439" Column="1" TopLine="5420"/>
</Position23>
<Position24>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="6193" Column="20" TopLine="6167"/>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="5439" Column="1" TopLine="5420"/>
</Position24>
<Position25>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="6205" Column="20" TopLine="6179"/>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="5440" Column="1" TopLine="5420"/>
</Position25>
<Position26>
<Filename Value="../../../../lcl/dbgrids.pas"/>
<Caret Line="429" Column="26" TopLine="415"/>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="5439" Column="1" TopLine="5420"/>
</Position26>
<Position27>
<Filename Value="../../../../lcl/dbgrids.pas"/>
<Caret Line="3040" Column="21" TopLine="3021"/>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="5440" Column="1" TopLine="5420"/>
</Position27>
<Position28>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="3977" Column="3" TopLine="3954"/>
<Caret Line="5439" Column="1" TopLine="5420"/>
</Position28>
<Position29>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="151" Column="27" TopLine="149"/>
<Filename Value="../../rxdbgrid.pas"/>
<Caret Line="5446" Column="2" TopLine="5420"/>
</Position29>
</JumpHistory>
</ProjectOptions>
@ -943,6 +982,29 @@
</Other>
</CompilerOptions>
<Debugging>
<BreakPoints Count="3">
<Item1>
<Kind Value="bpkSource"/>
<WatchScope Value="wpsLocal"/>
<WatchKind Value="wpkWrite"/>
<Source Value="../../rxdbgrid.pas"/>
<Line Value="4306"/>
</Item1>
<Item2>
<Kind Value="bpkSource"/>
<WatchScope Value="wpsLocal"/>
<WatchKind Value="wpkWrite"/>
<Source Value="../../rxdbgrid.pas"/>
<Line Value="3553"/>
</Item2>
<Item3>
<Kind Value="bpkSource"/>
<WatchScope Value="wpsLocal"/>
<WatchKind Value="wpkWrite"/>
<Source Value="../../rxdbgrid.pas"/>
<Line Value="5442"/>
</Item3>
</BreakPoints>
<Watches Count="5">
<Item1>
<Expression Value="K"/>

View File

@ -1,20 +1,20 @@
object RxDBGridMainForm: TRxDBGridMainForm
Left = 306
Left = 59
Height = 721
Top = 142
Top = 36
Width = 1187
ActiveControl = Panel1
Caption = 'RxDBGrid Demo'
ClientHeight = 698
ClientHeight = 696
ClientWidth = 1187
Menu = MainMenu1
OnCreate = FormCreate
ShowHint = True
LCLVersion = '1.1'
LCLVersion = '1.3'
object RxDBGrid1: TRxDBGrid
Left = 0
Height = 634
Top = 64
Height = 630
Top = 66
Width = 1187
TitleButtons = True
AutoSort = True
@ -241,6 +241,11 @@ object RxDBGridMainForm: TRxDBGridMainForm
Command = rxgcHideQuickFilter
ShortCut = 16456
Enabled = True
end
item
Command = rxgcCopyCellValue
ShortCut = 16451
Enabled = True
end>
FooterOptions.Active = True
FooterOptions.Color = clYellow
@ -268,22 +273,22 @@ object RxDBGridMainForm: TRxDBGridMainForm
end
object Panel1: TPanel
Left = 0
Height = 64
Height = 66
Top = 0
Width = 1187
Align = alTop
AutoSize = True
ClientHeight = 64
ClientHeight = 66
ClientWidth = 1187
TabOrder = 1
object Label1: TLabel
AnchorSideLeft.Control = Button2
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1
Left = 270
Height = 15
Left = 260
Height = 19
Top = 7
Width = 35
Width = 33
BorderSpacing.Around = 6
Caption = 'Mode'
ParentColor = False
@ -292,9 +297,9 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Control = Panel1
AnchorSideTop.Control = Panel1
Left = 7
Height = 27
Height = 31
Top = 7
Width = 86
Width = 85
Action = actCalcTotal
AutoSize = True
BorderSpacing.Around = 6
@ -304,10 +309,10 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Control = Button1
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1
Left = 99
Height = 27
Left = 98
Height = 31
Top = 7
Width = 165
Width = 156
Action = actOptimizeColumnsWidthAll
AutoSize = True
BorderSpacing.Around = 6
@ -318,11 +323,11 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = CheckBox2
AnchorSideTop.Side = asrBottom
Left = 499
Height = 22
Left = 489
Height = 23
Hint = 'Use filter line'
Top = 35
Width = 83
Top = 36
Width = 79
BorderSpacing.Left = 6
Caption = 'Use filter'
OnChange = CheckBox1Change
@ -332,9 +337,9 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Control = Label1
AnchorSideTop.Control = Label1
AnchorSideTop.Side = asrBottom
Left = 276
Height = 25
Top = 28
Left = 266
Height = 27
Top = 32
Width = 217
BorderSpacing.Around = 6
ItemHeight = 0
@ -352,11 +357,11 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Control = ComboBox1
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1
Left = 499
Height = 22
Left = 489
Height = 23
Hint = 'Auto fill column width'
Top = 7
Width = 133
Width = 125
BorderSpacing.Around = 6
Caption = 'Auto fill columns'
OnChange = CheckBox2Change
@ -366,10 +371,10 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Control = CheckBox2
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1
Left = 638
Height = 22
Left = 620
Height = 23
Top = 7
Width = 120
Width = 115
BorderSpacing.Around = 6
Caption = 'Show indicator'
Checked = True
@ -382,10 +387,10 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = CheckBox3
AnchorSideTop.Side = asrBottom
Left = 638
Height = 22
Top = 35
Width = 115
Left = 620
Height = 23
Top = 36
Width = 110
BorderSpacing.Around = 6
Caption = 'Show headers'
Checked = True
@ -397,8 +402,8 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Control = CheckBox3
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1
Left = 764
Height = 22
Left = 741
Height = 23
Top = 7
Width = 93
BorderSpacing.Around = 6
@ -543,7 +548,7 @@ object RxDBGridMainForm: TRxDBGridMainForm
Size = 15
end
end
object Datasource1: TDatasource
object Datasource1: TDataSource
DataSet = RxMemoryData1
left = 120
top = 264
@ -607,7 +612,7 @@ object RxDBGridMainForm: TRxDBGridMainForm
OnExecute = hlpAboutExecute
end
end
object Datasource2: TDatasource
object Datasource2: TDataSource
DataSet = RxMemoryData2
left = 288
top = 368

View File

@ -225,6 +225,10 @@ msgstr "Tomar estructura..."
msgid "Copy only metadata"
msgstr "Copiar solo metadata"
#: rxdconst.srxdbgridcopycellvalue
msgid "Copy cell value"
msgstr ""
#: rxdconst.srxdbgridemptifilter
msgid "(Empty)"
msgstr "(Todos)"

View File

@ -225,6 +225,10 @@ msgstr ""
msgid "Copy only metadata"
msgstr ""
#: rxdconst.srxdbgridcopycellvalue
msgid "Copy cell value"
msgstr ""
#: rxdconst.srxdbgridemptifilter
msgid "(Empty)"
msgstr ""

View File

@ -225,6 +225,10 @@ msgstr "Обзор структуры..."
msgid "Copy only metadata"
msgstr "Копировать только метаданные..."
#: rxdconst.srxdbgridcopycellvalue
msgid "Copy cell value"
msgstr ""
#: rxdconst.srxdbgridemptifilter
msgid "(Empty)"
msgstr "(Нет)"

View File

@ -234,6 +234,10 @@ msgstr "Огляд структури ..."
msgid "Copy only metadata"
msgstr "Копіювати тільки метадані ..."
#: rxdconst.srxdbgridcopycellvalue
msgid "Copy cell value"
msgstr ""
#: rxdconst.srxdbgridemptifilter
msgid "(Empty)"
msgstr "(Немає)"

View File

@ -107,7 +107,7 @@ type
TRxDBGridCommand = (rxgcNone, rxgcShowFindDlg, rxgcShowColumnsDlg,
rxgcShowFilterDlg, rxgcShowSortDlg, rxgcShowQuickFilter,
rxgcHideQuickFilter, rxgcSelectAll, rxgcDeSelectAll, rxgcInvertSelection,
rxgcOptimizeColumnsWidth
rxgcOptimizeColumnsWidth, rxgcCopyCellValue
);
@ -649,6 +649,7 @@ type
procedure OnSortBy(Sender: TObject);
procedure OnChooseVisibleFields(Sender: TObject);
procedure OnSelectAllRows(Sender: TObject);
procedure OnCopyCellValue(Sender: TObject);
procedure Loaded; override;
procedure UpdateFooterRowOnUpdateActive;
@ -820,10 +821,10 @@ procedure RegisterRxDBGridSortEngine(RxDBGridSortEngineClass: TRxDBGridSortEngin
implementation
uses Math, rxdconst, rxstrutils, rxdbgrid_findunit, rxdbgrid_columsunit,
rxlookup, tooledit, LCLProc, rxfilterby, rxsortby, variants;
rxlookup, tooledit, LCLProc, Clipbrd, rxfilterby, rxsortby, variants;
const
EditorCommandStrs: array[0..10] of TIdentMapEntry =
EditorCommandStrs: array[rxgcNone .. High(TRxDBGridCommand)] of TIdentMapEntry =
(
(Value: Ord(rxgcNone); Name: 'rxcgNone'),
(Value: Ord(rxgcShowFindDlg); Name: 'rxgcShowFindDlg'),
@ -835,7 +836,8 @@ const
(Value: Ord(rxgcSelectAll); Name: 'rxgcSelectAll'),
(Value: Ord(rxgcDeSelectAll); Name: 'rxgcDeSelectAll'),
(Value: Ord(rxgcInvertSelection); Name: 'rxgcInvertSelection'),
(Value: Ord(rxgcOptimizeColumnsWidth); Name: 'rxgcOptimizeColumnsWidth')
(Value: Ord(rxgcOptimizeColumnsWidth); Name: 'rxgcOptimizeColumnsWidth'),
(Value: Ord(rxgcCopyCellValue); Name: 'rxgcCopyCellValue')
);
var
@ -1700,6 +1702,7 @@ begin
CreateMenuItem('C', sRxDBGridSortByColumns, @OnSortBy);
CreateMenuItem('W', sRxDBGridSelectColumns, @OnChooseVisibleFields);
CreateMenuItem('A', sRxDBGridSelectAllRows, @OnSelectAllRows);
CreateMenuItem(#0, sRxDBGridCopyCellValue, @OnCopyCellValue);
end;
{$IFDEF RxDBGridDepricatedProps}
@ -3560,6 +3563,7 @@ begin
rxgcDeSelectAll: DeSelectAllRows;
rxgcInvertSelection:InvertSelection;
rxgcOptimizeColumnsWidth:OptimizeColumnsWidthAll;
rxgcCopyCellValue:OnCopyCellValue(Self);
else
exit;
end;
@ -4297,6 +4301,19 @@ begin
SelectAllRows;
end;
procedure TRxDBGrid.OnCopyCellValue(Sender: TObject);
begin
if DatalinkActive and Assigned(SelectedField) then
begin
try
Clipboard.Open;
Clipboard.AsText:=SelectedField.DisplayText;
finally
Clipboard.Close;
end;
end;
end;
procedure TRxDBGrid.Loaded;
begin
inherited Loaded;
@ -5350,23 +5367,16 @@ begin
inherited SetItem(Index, AValue);
end;
{function TRxDBGridKeyStrokes.GetOwner: TPersistent;
begin
Result:=FOwn;
end;
}
procedure TRxDBGridKeyStrokes.Update(Item: TCollectionItem);
begin
inherited Update(Item);
if (UpdateCount = 0) and Assigned(Owner) and
Assigned(TRxDBGrid(Owner).FKeyStrokes) then
if (UpdateCount = 0) and Assigned(Owner) and Assigned(TRxDBGrid(Owner).FKeyStrokes) then
TRxDBGrid(Owner).UpdateJMenuKeys;
end;
constructor TRxDBGridKeyStrokes.Create(AOwner: TPersistent);
begin
//FOwn := AOwner;
inherited Create(AOwner, TRxDBGridKeyStroke);
end;
@ -5414,6 +5424,7 @@ begin
AddE(rxgcDeSelectAll, Menus.ShortCut(Ord('-'), [ssCtrl]));
AddE(rxgcInvertSelection, Menus.ShortCut(Ord('*'), [ssCtrl]));
AddE(rxgcOptimizeColumnsWidth, Menus.ShortCut(Ord('+'), [ssCtrl]));
AddE(rxgcCopyCellValue, Menus.ShortCut(Ord('C'), [ssCtrl]));
end;
function TRxDBGridKeyStrokes.FindRxCommand(AKey: word;

View File

@ -111,6 +111,7 @@ resourcestring
sRxDBGridSelectColumns = 'Select visible collumns';// Ctrl+W';'Seleccionar Columnas Ctrl+W';
sRxDBGridEmptiFilter = '(Empty)';
sRxDBGridSelectAllRows = 'Select all rows';// Ctrl+W';'Seleccionar Columnas Ctrl+W';
sRxDBGridCopyCellValue = 'Copy cell value';// Ctrl+W';'Seleccionar Columnas Ctrl+W';
//RxDBGrid filter form
sRxFilterFormSelectExp = 'Enter filter expression for data in table:';