DBGrid中的列比较多
在Query刷新后如果让它显示在某一行?

解决方案 »

  1.   

    DBGrid1.SelectedIndex := 你要显示的那一行;
      

  2.   

    不是很明白,很多列与行应该没关吧
    是否想要刷新后当前记录仍保持在刷新前?
    那个就简单
    先将当前记录的关键字放入一变量
    刷新后用locate,如:
    with Query1 do
    begin 
       id:=FieldByName('id').AsInteger;
        disablecontrols;
       Close;
       sql.Text:=newsql;
       Open;
       Locate('id',id,[loPartialKey]);
       enablecontrols;
    end;
      

  3.   

    搞定了,呵呵  //...
      iLeftCol := dbg1.LeftCol;
      //刷新数据...
      dbg1.LeftCol := iLeftCol;
      //...
      

  4.   

    題目和內容說明不一致....說清楚,人家不會叫你locate了
      

  5.   

    谢谢大家,搞定了:
    用DBGrid.LeftCol