procedure TSF.DataGrid3KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if key = 13 then
Begin
if DataSetBroker1.DataSet.FieldByName('XMMC').AsString.Trim = '' then
begin
DataSetBroker1.DataSet.FieldByName('XMMC').FocusControl;
end;
end;
end;
procedure TSF.DataGrid3KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if key = 13 then
Begin
DataSetBroker1.DataSet.FieldByName('XMMC').FocusControl;
Dialogs.ShowMessage('');
end;
end;
Dialogs已经show出...我再说下需求
我在'XMMC'列回车,如果'XMMC'列的那字段为空则焦点还要在'XMMC'上
但是现在回车的时候,焦点已经转到下一列去了
能告诉我怎么实现么
if (Sender as TDataGrid).FocusedColumn = 0 then
begin
if key = 13 then
begin
(Sender as TDataGrid).OptionsBehavior := (Sender as TDataGrid).OptionsBehavior -
[TGroupListOptionBehavior.edgoEnterShowEditor];
end;
end
else
begin
(Sender as TDataGrid).OptionsBehavior := (Sender as TDataGrid).OptionsBehavior +
[TGroupListOptionBehavior.edgoEnterShowEditor];
end;
实现了