procedure Tform1.DBGrid1Enter(Sender: TObject); var vEdit: TEdit; begin vEdit := GetDBGridEdit(TDBGrid(Sender)); if Assigned(vEdit) then vEdit.Color := clYellow;end;function GetDBGridEdit(mDBGrid: TDBGrid): TEdit; var I: Integer; begin Result := nil; if not Assigned(mDBGrid) then Exit; if not mDBGrid.EditorMode then begin mDBGrid.EditorMode := True; mDBGrid.EditorMode := False; end; with mDBGrid do for I := 0 to Pred(ComponentCount) do if Components[I] is TCustomEdit then begin Result := TEdit(Components[I]); Break; end; end;function GetDBGridEditText(mDBGrid: TDBGrid): string; var vEdit: TEdit; begin vEdit := GetDBGridEdit(mDBGrid); if Assigned(vEdit) then Result := vEdit.Text else Result := ''; end; { GetDBGridEditText } 这是我在以前的帖子中找的,意思就是随时得到当前的输入值。自己试试吧 最后用GetDBGridEdit(dbgrid1).text就得到了值
var
vEdit: TEdit;
begin
vEdit := GetDBGridEdit(TDBGrid(Sender));
if Assigned(vEdit) then vEdit.Color := clYellow;end;function GetDBGridEdit(mDBGrid: TDBGrid): TEdit;
var
I: Integer;
begin
Result := nil;
if not Assigned(mDBGrid) then Exit;
if not mDBGrid.EditorMode then begin
mDBGrid.EditorMode := True;
mDBGrid.EditorMode := False;
end;
with mDBGrid do for I := 0 to Pred(ComponentCount) do
if Components[I] is TCustomEdit then begin
Result := TEdit(Components[I]);
Break;
end;
end;function GetDBGridEditText(mDBGrid: TDBGrid): string;
var
vEdit: TEdit;
begin
vEdit := GetDBGridEdit(mDBGrid);
if Assigned(vEdit) then
Result := vEdit.Text
else Result := '';
end; { GetDBGridEditText }
这是我在以前的帖子中找的,意思就是随时得到当前的输入值。自己试试吧
最后用GetDBGridEdit(dbgrid1).text就得到了值