日期:2014-05-18  浏览次数:20932 次

WPF 关于TextBox输入搜索匹配问题
我是利用在textbox框下面隐藏一个listbox,在输入后对内容进行匹配操作的。

后台定义了两个datatable,dt1是用来存放原数据,dt2用来显示匹配的数据。

在textbox上输入后,利用datatable.Select("name Like '%" + textbox.text + "%'")搜出匹配的行,清空dt2,然后将匹配数据插入到dt2中,之后listbox.itemsource绑定dt2来显示数据。

具体效果已经实现了,现在想问下有没有更好方法来实现这个功能???

例如:不定义另个datatable,listbox.itemsource直接和dt1绑定,textbox输入后,dt1自动匹配输入的内容,listbox不显示不配的,但dt1的数据还是所有原数据,不用在重新获取原数据。

又例如:我在网上搜索了combox可以实现自动完成功能,但代码比较复杂,不是很懂,但即使可以实现,但我希望不出现右侧下拉的箭头,有combox好点的实现方法吗??

麻烦大家帮帮忙了!!!

------解决方案--------------------
只要dt1.select就好了 dt2是多余的
------解决方案--------------------
listbox.itemsource = select 出来的datarow[]
这样不可以么?
------解决方案--------------------
listbox 里的是索引..不是内容.

新的datatable 显示是根据某一条索引出来的N条内容.

dt1 -> list索引集 ->listbox输入参考 ->textbox最终索引 ->dt2最终索引出来的结果.