我在 Delphi 中有一个虚拟表数据集,可以处理数千行。每次更改数据库后,我使用线程从数据库中获取更改,然后刷新数据集。但这会导致在定位到当前行操作之后移动屏幕(因为我在线程结束后完全更新了虚拟表)。这对眼睛很不方便,有时用户可能会点击错误的行。
所以我决定直接编辑更改的行而不是定位(DataSet.Edit 和 DataSet.Post)。但只有当光标位于特定行上时,我才能做到这一点。如果用户在不同的行上,此方法没有任何意义,因为我必须将光标移动到所需的行,进行更改,然后定位回用户所在的行。这当然会移动屏幕!
你明白我的意思。是否有任何解决方案可以“静默”地编辑 DataSet,这样用户就不会感觉到?谢谢。