读书人

TDBGrid更新后如何让光标自动回到之前

发布时间: 2013-09-05 16:02:07 作者: rapoo

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函数就可以了

读书人网 >C++ Builder

热点推荐