(*//标题:处理数据网格的编辑框说明:示例添加焦点颜色;获取还没有提交到数据集的字段文本设计:Zswang日期:2002-03-31支持:wjhu111@21cn.com//*)
///Begin Sourcefunction 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; { GetDBGridEdit }
function GetDBGridEditText(mDBGrid: TDBGrid): string;var vEdit: TEdit;begin vEdit := GetDBGridEdit(mDBGrid); if Assigned(vEdit) then Result := vEdit.Text else Result := '';end; { GetDBGridEditText }///End Source
///Begin Demoprocedure TForm1.DBGrid1Enter(Sender: TObject);var vEdit: TEdit;begin vEdit := GetDBGridEdit(TDBGrid(Sender)); if Assigned(vEdit) then vEdit.Color := clYellow;end;
procedure TForm1.DBGrid1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);begin Caption := GetDBGridEditText(TDBGrid(Sender));end;///End Demo