我有一个TextBox和一个DataGridView。当用户在TextBox中按下类型的某些单词时,DataGridView应该立即显示db的结果(绑定到DataGridView)
问题:如何制作TextBox" On Real Response"?
我的意思是如果我键入" Hello",并且在处理将每个字母输入TextBox的过程中,每次我必须进行新的搜索时,UI表单必须已经死亡,因为有太多请求数据库。我知道我可以使用线程,但我真正想要的是,有一种机制可以让我取消或接受"从数据库搜索并绑定到dataGridView"。
详细说明,即:
每当我更改TextBox的值时,会出现一个带有来自textbox的值的请求并从db进行搜索,并且可以取消之前的TextBox值,而不是之前的搜索后台线程等
.NET框架现在有这样的机制吗?或者有人可以提出关于取消之前要搜索的查询字符串或搜索过程中的好主意吗?任何人都可以向我展示一个带有persudo代码的演示
答案 0 :(得分:2)
如果要取消之前的查询,请在执行查询的Cancel
对象上调用DbCommand
。为什么你不知道,鉴于它在文档中是正确的?
那就是说,我倾向于使用Timer
来延迟查询一小段时间。这样,在用户暂停键入之前不会执行任何查询。