【问题标题】:How can I check all children when parent node checked in Extjs checkcolumn?在 Extjs 检查列中检查父节点时如何检查所有子节点?
【发布时间】:2016-03-17 11:47:36
【问题描述】:

我的 Extjs 校验列视图

我的代码 sn-p

            columns: [{
                xtype: 'treecolumn',
                header: 'Name'
            }, {
                xtype: 'checkcolumn',
                header: 'Check',

                listeners: {
                    checkchange: function(node, checked, eOpts) {
                        // console.warn(JR.app.globalObj.treeNodeSet);
                        console.info(node);
                    }
                }
            }]

在检查列监听器中

listeners: {
    checkchange: function(node, checked, eOpts) {
        console.info(node);
        // NO IDEA which node was checked
    }
}

不知道检查了哪个节点,我该怎么办?

【问题讨论】:

    标签: extjs


    【解决方案1】:

    您已将网格的 checkchange 侦听器放在列上。要么在列上使用checkchange:function(column, rowIndex, checked, eOpts),然后通过rowIndex 获取记录,要么将checkchange: function(node, checked, eOpts) 侦听器放在网格上,而不是列上。 (请注意,这对于每个检查列中的每个检查更改都会触发)。

    【讨论】:

    • 我从 checkchange 事件中获取 rowIndex(它是一个数字),但是如何从 rowIndex 中找到它们的关系? (哪个是父节点,哪个是子节点)
    • 我不完全确定,但是Ext.data.TreeModel 有一个query(selector) 方法,所以我猜record.query() 会给你所有的后代。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多