在DBGrid中遇到的高难度问题!!问题: 我要在DBGrid(DBGrid的DataSet是表1)的一个列中输入信息然后在表2中查找, 如果找到,在表1中添加这条记录,否则取消操作。要求: 按下‘回车’或‘下箭头’键时执行查找操作;回车键的方法已经实现; 用箭头键时遇到下面问题:怎么能得到我输入的信息(要查找的内容)?取表1当前记录字段的值是不行的。望高手指点。
解决方案 »
- 我想让一个函数不要立即返回,在执行完一些操作后再返回
- 加密狗的 问题
- 年纪大了,改行做仓库保管员了!!!散分!!!给CSDN认识和不认识的朋友们道声珍重!!!!
- 为什么if trim(combobox1.Text):='' then不能通过编译
- 在OO理论中 Abstract 可否这样理解?
- 一个关于数据截获的问题
- 我用ODBC连接SYBASE速度特别慢,有其它的方式吗?
- 关于rave的一个问题
- 请问有谁知道ThemeEngine 3.1.5(实现XP效果的控件)在DELPHI7下怎么安装?
- 急!一个ADOQUERY控件的问题.
- 有谁会用Realproducer控件?!
- 因为数据库正在使用,所以未能获得对数据库的排它访问权。
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就得到了值