javascript - 将 Yii CGridView 的可选行限制为复选框列

标签 javascript jquery gridview checkbox yii

我正在使用 Yii,并且这里的 CGridView 具有 CCheckBoxColumn 作为定义的列的一部分。

this->widget('zii.widgets.grid.CGridView', array(
    'dataProvider' => $dataProvider,
    'filter' => $model,
    'columns' => $columns
    ),
    'selectableRows'=>2
));

selectableRows 设置为 2 也会使单击 gridview 内的行的任何部分“选中/取消选中”该行。这是一个有用的功能,这样用户就不再需要在复选框图标很小的情况下专门勾选它。

不幸的是,我需要限制复选框勾选仅在单击复选框图标/输入元素本身或至少它所在的列时切换,而不是在该行的任何其他列。看来这个功能还没有或不会,我正在寻找某种方式覆盖 Js 来实现这一点,但我不知道从哪里开始。谢谢。

最佳答案

'columns'中,您应该添加新数组作为第一个元素,如下所示:

    array(
        'class' => 'CCheckBoxColumn',
        'id'=>'selectableColumn',
        'selectableRows'=>2,
    ),

并从数组索引中删除'selectableRows'。该数组是其中带有复选框的列的配置。因此,基本上,您应该添加到上面提到的 $columns 变量数组中。这是示例:

$this->widget('zii.widgets.grid.CGridView', array(
   'dataProvider' => $dataProvider,
   'filter' => $model,
   'columns' => array( // <- this is your $columns variable!
        array( // <- just add this array to your $columns var
            'class' => 'CCheckBoxColumn',
            'id'=>'selectableColumn',
            'selectableRows'=>2,
        ),
        'columnName1',
        'columnName2',
        ...
   ),
));

关于javascript - 将 Yii CGridView 的可选行限制为复选框列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33494558/

相关文章:

jquery - MVC、WCF ASP.NET 4.0 和 JQUERY

c# - ASP :GridView not getting info from SqlDataAdapter with Stored Procedure

python - Tkinter:在框架类中创建多个框架

php - 使用 Ajax 和 MySql 分离结构

javascript - 使用 jquery 创建选项卡

javascript - 如何为React组件分离和动态设置html模板?

javascript - 如何强制同步执行getJSON?

android - 不确定将哪个 View 用于一键式可扫描界面

javascript - 为什么 JavaScript 不支持多线程?

javascript - 如何根据图像缩放图像 - css