如何解决根据用户键入的文本过滤 Windows 窗体中的 DBTables 值
我目前正在根据用户输入的文本过滤记录列表。当我输入下一个字符时,我得到了重复的记录。
list on listbox1:
USA
Canada
Can
UK
China
Japan
If I type 'ca' in textbox2 : Current output I get in listbox1:
Canada
Can
Canada
Can
Output I want:
Canada
Can
我想在 listbox1 上显示所有包含 textbox2 中文本的列表
{{1}}
解决方法
我看不到任何用于删除列表中现有项目的 listBox1.Items.Clear()
指令。如果您不清除列表项,该列表将包含所有先前搜索的结果。
在 string toFind = textBox2.Text;
之后和将新条目添加到列表的 foreach
循环之前添加:
listBox1.Items.Clear(); // remove any existing items in list
仅供参考:由于您只提供了一个代码片段,我们不知道其余代码在做什么,因此任何答案都是猜测。为了将来获得更好的答案,请将不适合您的逻辑提取到一个单独且完整的测试应用程序中,以重现您的问题。然后发布测试应用程序的代码。删除特定于您的应用程序的任何逻辑,例如,将 List<DBTables>
替换为 List<string>
,前提是您的问题仍会重现。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。