Delphi中DBGrid列定位问题

erocyli 2010-04-20 09:56:22
DBGrid中的列比较多
在Query刷新后如果让它显示在某一行?
...全文
452 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
erocyli 2010-04-28
  • 打赏
  • 举报
回复
谢谢大家,搞定了:
用DBGrid.LeftCol
金卯刀 2010-04-21
  • 打赏
  • 举报
回复
題目和內容說明不一致....

說清楚,人家不會叫你locate了
李_军 2010-04-21
  • 打赏
  • 举报
回复
locate
erocyli 2010-04-20
  • 打赏
  • 举报
回复
搞定了,呵呵



//...
iLeftCol := dbg1.LeftCol;
//刷新数据...
dbg1.LeftCol := iLeftCol;
//...

erocyli 2010-04-20
  • 打赏
  • 举报
回复
还有没有其它实现的办法?
erocyli 2010-04-20
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 keiy 的回复:]
不是很明白,很多列与行应该没关吧
是否想要刷新后当前记录仍保持在刷新前?
那个就简单
先将当前记录的关键字放入一变量
刷新后用locate,如:
with Query1 do
begin
id:=FieldByName('id').AsInteger;
disablecontrols;
Close;
sql.Text:=newsql;
Open;
……
[/Quote]

我试过了,还是不行啊
柯本 2010-04-20
  • 打赏
  • 举报
回复
不是很明白,很多列与行应该没关吧
是否想要刷新后当前记录仍保持在刷新前?
那个就简单
先将当前记录的关键字放入一变量
刷新后用locate,如:
with Query1 do
begin
id:=FieldByName('id').AsInteger;
disablecontrols;
Close;
sql.Text:=newsql;
Open;
Locate('id',id,[loPartialKey]);
enablecontrols;
end;
erocyli 2010-04-20
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 chhrsas 的回复:]
DBGrid1.SelectedIndex := 你要显示的那一行;
[/Quote]
不好意思,我写错了,是某一列。。。
chhrsas 2010-04-20
  • 打赏
  • 举报
回复
DBGrid1.SelectedIndex := 你要显示的那一行;
hongss 2010-04-20
  • 打赏
  • 举报
回复
刷新后的焦点位置?

2,496

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧