首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

TDBGrid更新后如何让光标自动回到之前选择的记录上

2013-09-05 
TDBGrid更新后怎么让光标自动回到之前选择的记录上qry1-SQL-Clear()qry1-SQL-Add(String().sprintf(L

TDBGrid更新后怎么让光标自动回到之前选择的记录上


qry1->SQL->Clear();
qry1->SQL->Add(String().sprintf(L"select id as 编号 from terminal" ));
qry1->Open() ;


这是更新的代码.
[解决办法]
/* TODO : 註記並且回到紀錄位置 */
TBookmark bk = qry1->GetBookmark(); // 將原來位置註記
qry1->DisableControls(); // 暫停可視控件...避免可視數據控件閃動並提高效率
try
{
qry1->Close();
qry1->SQL->Clear();
qry1->SQL->Add(String().sprintf(L"select id as 编号 from terminal"));
qry1->Open();
}
__finally
{
qry1->GotoBookmark(bk); // 返回原註記位置
qry1->EnableControls(); // 回復可視控件
qry1->FreeBookmark(bk); // 釋放註記
}

[解决办法]
用GotoBookmark是最好的办法,然后再调用Scroll GetScrollInfo.. SetScrollPos相关 API函数就可以了

热点排行