2010-11-24 57 views
3

入力:チェックボックスを使用してグリッド行を選択できる列を作成する必要があります。 Yahoo、Googleなどで使用されているもののようなグリッドには、そのようなものがあります。 私は何かを作ったが、私はいくつかの問題を抱えていて、それも良い方法ではないと思う。SlickGridでチェックボックスを含む行を選択してください

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

ありがとう!

+0

ここに例を示します。http://li.ro/4bJw – nightm

答えて

関連する問題