【问题标题】:Select rows with checkbox in SlickGrid在 SlickGrid 中选择带有复选框的行
【发布时间】:2011-05-15 09:21:01
【问题描述】:

我需要创建一个列,您可以在其中使用 input:checkbox 选择网格行。像雅虎、谷歌等使用的网格有类似的东西。 我做了一些东西,但我有一些问题,我认为这也不是一个好方法。

可以在行中有复选框并直接单击它们,而不是像在 example4-model 中那样?

我的想法是:

    < div id="inlineFilterPanel" class="slick-header-column" style="padding: 3px 0; color:black;">
            <input type="checkbox" name="selectAll" id="selectAll" value="true" / >
   < input type="text" id="txtSearch2" value="Desktops" />
        </div>

d["check"] = '< INPUT type=checkbox value='true' name='selectedRows[]' id='sel_id_<?php echo $i; ?>' class='editor-checkbox' hideFocus />';

grid.onSelectedRowsChanged = function() {
                selectedRowIds = [];
    $('#myGrid' + ' :checkbox').attr('checked', '');
                var rows = grid.getSelectedRows();
                for (var i = 0, l = rows.length; i < l; i++) {
                    var item = dataView.rows[rows[i]];
                    if (item) {
      selectedRowIds.push(item.id);  
      $('#sel_' + item.id).attr('checked', 'checked');
     }

                }
            };


function selectAllRows(bool) {
                var rows = [];
                selectedRowIds = [];

                for (var i = 0; i < dataView.rows.length; i++) {
                    rows.push(i);
                    if (bool) {
      selectedRowIds.push(dataView.rows[i].id);
      $('#sel_' + dataView.rows[i].id).attr('checked', 'checked');
     } else {
      rows = [];
      $('#sel_' + dataView.rows[i].id).attr('checked', '');
     }     
                }

                grid.setSelectedRows(rows);
   }

   grid.onKeyDown = function(e) {
                // select all rows on ctrl-a
    if (e.which != 65 || !e.ctrlKey)
                    return false;

    selectAllRows(true);

    return true;
            };

   $("#selectAll").click(function(e) { 
                Slick.GlobalEditorLock.cancelCurrentEdit();

    if ($('#selectAll').attr('checked'))
     selectAllRows(true);
    else
     selectAllRows(false);

    return true;
   });

谢谢!

【问题讨论】:

  • 我在这里举个例子:li.ro/4bJw 我做了什么

标签: select checkbox slickgrid


【解决方案1】:

我已将复选框选择列的示例实现添加到 http://mleibman.github.com/SlickGrid/examples/example-checkbox-row-select.html

这是即将发布的 2.0 版本的一部分。

【讨论】:

    猜你喜欢
    • 2011-09-03
    • 2012-04-17
    • 2013-06-20
    • 1970-01-01
    • 2013-04-02
    • 2014-05-19
    • 1970-01-01
    • 2012-05-27
    • 1970-01-01
    相关资源
    最近更新 更多