FineUI 官方论坛

标题: 求助,列表搜索的问题 [打印本页]

作者: MissThee    时间: 2017-6-13 14:40
标题: 求助,列表搜索的问题
[attach]10253[/attach]表格的功能是:点击表格中的数据,可以把对应的车牌号字段,添加到上面查询按钮左边的textbox中。
然后由于车很多,需要做一个快速搜索栏(表格工具栏中空白的textbox),
这个搜索栏是对车牌号进行模糊查询
求助有什么好方法可以实现这个查询功能???
已经想到的方案:
1.使用前台js,设置查询监听textbox控件中的keyup事件,触发查询功能。查询实现方式为使用前台js更改表格中行的display属性,隐藏与关键字不匹配的行。(不需要与后台交互,反应灵敏。但有个问题:FineUI的表格中,大概超过视窗50行的"行",是不显示的,具体不清楚,理解为表格视窗之外的"行",为了提高前台速度,不进行绘制,滑条拉到那个地方的时候才进行绘制。这个问题导致50行之后的数据无法搜索到)
2.给textbox增加OnTextChanged="DataBind"和AutoPostBack="true"两个属性,每输入一个字符就在后台执行一次查询语句,得出Datatable,绑定数据到表格(有问题:输入过程中进行了额外的无用查询;textbox内字符输入或删除过快时,AutoPost与后台交互返回结果会出问题。比如快速的输入了“123”会执行3次查询(查"1","12","123"),但有时候绑定的结果是“12”查询的结果(返回结果顺序变成了,查"1","123","12")。)

求助 有没有让FineUI表格总是绘制所有行的设置方法,
或者OnTextChanged可以设置内容变化后,延迟一会儿不输入了 (像输入了“123”后,0.5秒内没有再输入),再执行AutoPost提交吗???

或者。。有啥更好的方法可以打字后不用单独点搜索按钮,就触发搜索功能吗。。??




作者: MissThee    时间: 2017-6-13 15:18
问题解决了。。。
将现textbox隐藏,设置另一个textbox显示
使用FineUI例子里的 其他杂项→文本框改变客户端事件
让显示的textbox同步赋值给隐藏的textbox,配合settime定时器一起用,就实现输入后延迟一会儿再AutoPost的效果了




欢迎光临 FineUI 官方论坛 (https://fineui.com/BBS/) Powered by Discuz! X3.4