在DbGrid1的OnKeyPress事件中输入 If Key=#13 Then //当按下回车键时 begin ..... //主体语句 end;
procedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char); begin if (key=#13) then Button1.Caption:=DBGrid1.SelectedField.AsString; end;
function GetDBGridEdit(mDBGrid: TDBGrid): TEdit; var I: Integer; begin Result := nil; with mDBGrid do for I := 0 to Pred(ComponentCount) do if Components[I] is TCustomEdit then begin Result := TEdit(Components[I]); Break; end; end; { GetDBGridEdit }function GetDBGridEditText(mDBGrid: TDBGrid): string; var vEdit: TEdit; begin vEdit := GetDBGridEdit(mDBGrid); if Assigned(vEdit) then Result := vEdit.Text else Result := ''; end; { GetDBGridEditText }procedure TForm1.DBGrid1DblClick(Sender: TObject); begin Edit1.Text := GetDBGridEditText(DBGrid1); end;
//补聪 No.1 DBGrid1.EditorMode = True是有效No.2 if DBGrid1.EditorMode = True then begin GetDBGridEdit(DBGrid1).Text := '111'; //不能直接提交到数据库//需要模拟按键实现 end;No.3 if DBGrid1.EditorMode = True then begin GetDBGridEdit(DBGrid1).Color := clRed; //其它运用 end;
If Key=#13 Then //当按下回车键时
begin
..... //主体语句
end;
begin
if (key=#13) then Button1.Caption:=DBGrid1.SelectedField.AsString;
end;
var
I: Integer;
begin
Result := nil;
with mDBGrid do for I := 0 to Pred(ComponentCount) do
if Components[I] is TCustomEdit then begin
Result := TEdit(Components[I]);
Break;
end;
end; { GetDBGridEdit }function GetDBGridEditText(mDBGrid: TDBGrid): string;
var
vEdit: TEdit;
begin
vEdit := GetDBGridEdit(mDBGrid);
if Assigned(vEdit) then
Result := vEdit.Text
else Result := '';
end; { GetDBGridEditText }procedure TForm1.DBGrid1DblClick(Sender: TObject);
begin
Edit1.Text := GetDBGridEditText(DBGrid1);
end;
No.1 DBGrid1.EditorMode = True是有效No.2
if DBGrid1.EditorMode = True then begin
GetDBGridEdit(DBGrid1).Text := '111';
//不能直接提交到数据库//需要模拟按键实现
end;No.3
if DBGrid1.EditorMode = True then begin
GetDBGridEdit(DBGrid1).Color := clRed;
//其它运用
end;