DELPHI 数据集在内存中快速查询方法

1、Bookmark
var  p:pointer;
procedure  TForm1.Button1Click(Sender: TObject);//加个标签
begin
  p:=cxGrid1DBTableView1.DataController.DataSet.GetBookmark;
end   
procedure  TForm1.Button2Click(Sender: TObject);//行焦点定位到标签
begin
  cxGrid1DBTableView1.DataController.DataSet.GotoBookmark(p);
end;
2、recNo 
    var i:integer;
       i:=adodataset1.recno;
       adodataset1.recno:=i;
3、locate
    单个字段
      Locate('ID', 'A001', []);

    多个字段
      Locate('ID;Name', VarArrayOf(['A001', '小三']), []);

 

var  fname,fv:string;
begin
  fname:=ADOQuery.Fields.Fields[0].Name;
  fv:=ADOQuery.Fields.Fields[0].AsString;
  ADOQuery.Close;
  ADOQuery.Open;
  if  ADOQuery.Locate(fname,fv, []) then
    showmessage('定位记录完成')
  else
    showmessage('定位失败。');
  //......
end;


 




   结果返回True/False; 即表示找到此记录/找不到,具体用法请按F1看帮助
4、CXGRID 
          i :=  View1.Controller.FocusedRowIndex;
          ds.Close;
          Ds.Open;
          View1.Controller.FocusedRowIndex := i;

猜你喜欢

转载自www.cnblogs.com/jijm123/p/10416058.html