首页新闻找找看学习计划

Easyui-datagrid groupview分组后勾选问题

0
悬赏园豆:20 [已解决问题] 解决于 2015-07-13 11:06

急求实现方法,希望大家能畅所欲言,提供思路,谢谢了

kungge的主页 kungge | 初学一级 | 园豆:132
提问于:2015-07-09 15:29
< >
分享
最佳答案
0

之前正好实现过相应的功能,下面是我的代码

先说参数

第一个参数代表groupview分组的选中状态

第二个参数代表groupField中的值

第三个参数代表datagrid的id,如#dg

 

接下来说说思路

首先拿到datagrid的所有分组信息var groups = $(tableIdSelector).datagrid("options").view.groups;

然后遍历这些分组信息,根据value找到那个组,再根据checked控制分组内的数据的选中状态

 

实际上这段代码还有一个没有考虑到的问题,就是点击最上面groupview自带的全选checkbox时,分组中的checkbox不会选中,但分组内的checkbox会选中。。。实际上是我懒得弄了

 

function selectByGroup(checked, value ,tableIdSelector)
    {
        var groups = $(tableIdSelector).datagrid("options").view.groups;
        var rows;
    
        for (var i = 0; i < groups.length; i++)
        {
            if (groups[i].value == value)
            {
                rows = groups[i].rows;
                break;
            }
        }
        
        if (checked)
        {
            for (var i = 0; i < rows.length; i++)
            {                                       
                $(tableIdSelector).datagrid("selectRow", $(tableIdSelector).datagrid("getRowIndex", rows[i]));
            }
        }
        else
        {
            for (var i = 0; i < rows.length; i++)
            {
                $(tableIdSelector).datagrid("unselectRow", $(tableIdSelector).datagrid("getRowIndex", rows[i]));
            }
        }
    }

收获园豆:20
white knight | 菜鸟二级 |园豆:229 | 2015-07-10 17:09

谢谢,问题已解决

kungge | 园豆:132 (初学一级) | 2015-07-13 11:05
其他回答(1)
0

 下面的ckb有独立的class或者其他的吗?  或者给每个组加class,。 然后在ckb的点击事件里写上 (".classname").prop("checked", true);

如果不能加class的话, 那就根据ckb的索引给这些东西来一个.prop("checked", true);

请叫我头头哥 | 园豆:9382 (大侠五级) | 2015-07-10 10:50

这个方法试过了,无法给每行的ckb自定义添加class

支持(0) 反对(0) kungge | 园豆:132 (初学一级) | 2015-07-13 11:14
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册