给DBGrid动态赋值后,如何用程序指定某行某列为当前焦点?(100分)

哈哈,我弄出来了。在大富翁上搜索的。
Form1.DBGrid1.SelectedIndex := 4;
Form1.DBGrid1.SetFocus;
这样就行了。
谢谢你!

------------------------

procedure TForm1.Button1Click(Sender: TObject);
begin
{修改KuCunInfo中的数据}
//修改完库存信息后,由于Form1中的数据还是旧的,所以需要在这里更新一下Form1中
//的数据,即:重新打开一次DBGrid1对应的数据集控件(DataModule1.ADOQuery1),然后 
//再执行FocusControl
try
Form1.DBGrid1.Fields[3].FocusControl;
finally
end;
end;

另外以下代码:
DataModule1.ADOQuery1.Close;
DataModule1.ADOQuery1.SQL.Text := sql2;
DataModule1.ADOQuery1.ExecSQL ;
DataModule1.ADOQuery1.Active := true;
建议这样写:
DataModule1.ADOQuery1.Close;
DataModule1.ADOQuery1.SQl.Clear;
DataModule1.ADOQuery1.SQL.Add(sql2);
DataModule1.ADOQuery1.Open;
ADOQuery1控件,如果其SQL为select语句使用Open,如果是Insert、update、delete等不需要返回值的SQL用ExecSQL 。

原文地址:https://www.cnblogs.com/jijm123/p/11259966.html