开发者

Select rows with checkbox in SlickGrid

开发者 https://www.devze.com 2023-01-27 00:55 出处:网络
I need to make a column where you can select grid rows with input:checkbox. Grids like ones used by Yahoo, Google etc have something like that.

I need to make a column where you can select grid rows with input:checkbox. Grids like ones used by Yahoo, Google etc have something like that. I made something but I have some problems and I think that is not a good aproach also.

It's posible to have checkboxes in rows and click on them directly, not like in example4-model ?

My idea was :

    < 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;

    s开发者_如何学JAVAelectAllRows(true);

    return true;
            };

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

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

    return true;
   });

Thanks!


I've added a sample implementation of a checkbox select column to http://mleibman.github.com/SlickGrid/examples/example-checkbox-row-select.html

This is part of the upcoming 2.0 release.

0

精彩评论

暂无评论...
验证码 换一张
取 消