【问题标题】:dgrid selection- select row only when I click on check boxdgrid selection-仅在我单击复选框时选择行
【发布时间】:2013-10-20 08:26:18
【问题描述】:

我有一个带有选择扩展的 dgrid。
如何在不选中该框的情况下选择任何行。
我的意思是,只有直接点击才能勾选复选框。

【问题讨论】:

    标签: selection dgrid


    【解决方案1】:

    您的问题描述中的措辞听起来与您的问题标题有些不同,但我认为您要问的是如何仅允许通过选择器列中的复选框选择行。您可以将Selection mixin 与selectionMode: 'none' 和使用selector 列插件的列结合使用。这是一个粗略的例子:

    require([
        'dojo/_base/declare',
        'dgrid/Grid',
        'dgrid/Selection',
        'dgrid/selector'
    ], function (declare, Grid, Selection, selector) {
        var SelectionGrid = declare([Grid, Selection]);
        var grid = new SelectionGrid({
            columns: {
                selector: selector({ label: '' }),
                // other columns here...
            },
            selectionMode: 'none'
        });
        // Place, startup the grid, and add data here...
    });
    

    您可以在 dgrid 的 test/selector.html 页面中查看此类示例。

    【讨论】:

    • 感谢 ken 的精彩回答。 none 模式真正解决了这个问题。发生的另一个问题是,在我将网格 cellNavigation 更改为 false 后,网格停止聚焦单击的单元格,但它聚焦整行。这是为什么呢?
    • 这就是将cellNavigation 设置为false 所做的,根据定义——它改变了Keyboard mixin 的行为,使其专注于行级别而不是单元级别。您可以类似地在行级别应用选择,只需混合 Selection 而不是 CellSelection(这通常更适合 selector 的情况)。
    • 将 cellNavigation 设置为 false 的想法,以便我可以在标题中使用选择小部件(由“renderHeaderCell”制作),因为当我处于错误模式时,它不会打开下拉菜单。就在我使用真正的 cellNavigation 时,它会打开。使用 cellSelection 也不允许这样做。
    猜你喜欢
    • 2016-01-22
    • 1970-01-01
    • 2011-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-23
    • 1970-01-01
    相关资源
    最近更新 更多