实时刷新DBGrid控件,当点击某一行时可以进行编辑并要求刷新一遍dbgrid后重新定位到该行!
解决方案 »
- 谁有ascll码表,请给小弟发一份!
- 关于数组和指针的问题.
- 初用DELPHI,一个有关数据库的小问题,有关用filter属性进行数据过滤的。
- 我的程序需要自动控制用户使用电脑。
- 离开 论坛 散分【三】
- 一个界面上,有两个DBGrid控件,怎样判断目前操作的是哪个DBGrid?
- 有能在dbgrid中单击某个单元格中实现checkbox的方法也可以!
- 在DELPHI的帮助文件里面怎么找不到,什么函数会抛出异常,什么函数不会抛出异常。
- 没想到300分都没人来拿
- 把程序添加到任务栏中的源码
- 发布基于ms sql server的delphi程序,需要那些DLL?
- 【原创】小说连载《难道这都不算爱》(二)
刷新;
再GoTo(RecNo);
*注:对于索引字段的更新不能采用此方法
begin
vRecNo := ADOQuery1.RecNo;
//刷新数据
ADOQuery1.Close;
ADOQuery1.Open;
if ADOQuery1.RecordCount >= vRecNo then
ADOQuery1.RecNo := vRecNo;
end;
procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
//刷新数据
vRecNo := ADOQuery1.RecNo;
ADOQuery1.Refresh;
if ADOQuery1.RecordCount >= vRecNo then
ADOQuery1.RecNo := vRecNo;
end;
i:String;
begin
//刷新前
i:=AdoQuery1.FieldBYName('ID').AsString;
AdoQuery1.DisabControls;
AdoQuery1.Requery;
AdoQuery1.Locate('ID',i,[loCaseInsensitive]);
AdoQuery1.EnableControls;
end;
var ch:string;
s:TBook;
begin
if key=13 then
begin
//he:=he-(ki-table1.fieldbyname('err_qty').asinteger);
with Table1 do
begin
S := GetBook; //给书签赋值,就是你要回来的地方
try
FindPrior; //执行处理操作
active:=false;
active:=true;
GotoBook(S); //回到设置书签的地方
next;
finally
FreeBook(S); //释放书签
end;
end;
//edit1.text:=inttostr(he);
//edit2.Text:=table1.fieldbyname('err_qty').AsString;
end;
end;
i:=adoquery.fieldbyname('id').asstring;
refreshDB;
adoquery.locate('id',i,[]);
我点击哪一行都可以取得相应的id值,是不是DBGrid控件自己感知的?另外,用书签我也试过了,效果不好,老是做循环遍历,让程序死掉