jQuery MiniUI

标题: grid中是否有筛选方法? [打印本页]

作者: johnconner    时间: 2013-1-9 15:00:24     标题: grid中是否有筛选方法?

看到combobox中有查找列方法,可实现在combobox输入过程中类似边输入边查找的效果
var items = this.findItems(e.value);
            if (!items || items.length == 0) {
                e.isValid = false;
                e.errorText = "输入值不存在";               
            }
在tree中有过滤方法,可以不用去后台查询就能从客户端过滤出来想要的数据
var key = mini.get("key").getValue();
            tree.filter(function(node){
                if(node.name.indexOf(key) != -1)
                    return true;
            });
请问grid中有类似这些功能的方法吗?比如查出某个库房有10条设备信息,我只想看关于压力表的信息,可以以压力表为条件重新查询,但是最好有这种类似于筛选或查找的方法从当前显示的数据中实现。谢谢!

作者: factory    时间: 2013-1-9 15:04:36

你要的是不是http://miniui.com/demo/#src=datagrid/rowedit_autocomplete.html
作者: johnconner    时间: 2013-1-9 15:12:22

factory 发表于 2013-1-9 15:04
你要的是不是http://miniui.com/demo/#src=datagrid/rowedit_autocomplete.html

这是给我发了个什么衔接?里面只有一个save。
我是想问问grid有没有筛选功能,比如说一张表里有10行,其中类型列中分别是自行车、汽车、火车、飞机,现在我只想看列值=飞机的所有行,可不可以从这张表10行数据中筛选或查找出来,其它自行车、汽车、火车的行都不显示了。
作者: factory    时间: 2013-1-9 15:36:32

本帖最后由 factory 于 2013-1-9 15:39 编辑
johnconner 发表于 2013-1-9 15:12
这是给我发了个什么衔接?里面只有一个save。
我是想问问grid有没有筛选功能,比如说一张表里有10行,其 ...

实现在combobox输入过程中类似边输入边查找的效果
你不是要边输入变查找的效果么?
如果只要显示需要的列,那你就看隐藏显示列的例子好了

作者: johnconner    时间: 2013-1-9 15:45:38

factory 发表于 2013-1-9 15:36
实现在combobox输入过程中类似边输入边查找的效果
你不是要边输入变查找的效果么?
如果只要显示需要的列 ...

哎,我也不知道是我叙述不清还是怎么地,我是想要grid的筛选功能,combobox和tree的我都实现了。
作者: factory    时间: 2013-1-9 15:52:49

johnconner 发表于 2013-1-9 15:45
哎,我也不知道是我叙述不清还是怎么地,我是想要grid的筛选功能,combobox和tree的我都实现了。 ...

如果你只是显示需要的列的话,用隐藏显示列做好了
http://miniui.com/demo/#src=datagrid/hidecolumn.html
作者: factory    时间: 2013-1-9 15:55:32

factory 发表于 2013-1-9 15:52
如果你只是显示需要的列的话,用隐藏显示列做好了
http://miniui.com/demo/#src=datagrid/hidecolumn.htm ...

或者动态加载列也可以,
var columns = [....]

grid.setColumns(columns);
作者: johnconner    时间: 2013-1-9 20:11:09

本帖最后由 johnconner 于 2013-1-9 20:16 编辑
factory 发表于 2013-1-9 15:52
如果你只是显示需要的列的话,用隐藏显示列做好了
http://miniui.com/demo/#src=datagrid/hidecolumn.htm ...


我是要显示需要的行,不是列,以某一列的值为条件对行进行过滤

function onComboChanged(e){
            var jzid = combo.getValue();
            var rows = grid.findRows(function(row){
                if(row.jzid == jzid ) return true;
            });
        }
通过查询函数获取行对象数组,数组已经获得了,但是如何让grid中不符合条件的行隐藏?不能清空grid,因为这是筛选出来的,当筛选条件变了的时候还要从原grid数据中筛选

作者: factory    时间: 2013-1-10 09:24:18

johnconner 发表于 2013-1-9 20:11
我是要显示需要的行,不是列,以某一列的值为条件对行进行过滤

function onComboChanged(e){

客户端的行筛选暂时还没有。
你将筛选条件发送到服务端,服务端进行对数据的筛选,然后返回给表格,显示出你需要的行,这样做




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2