2010-11-24 7 views
3

J'ai besoin de faire une colonne où vous pouvez sélectionner des lignes de grille avec entrée: case à cocher. Les grilles comme celles utilisées par Yahoo, Google, etc. ont quelque chose comme ça. J'ai fait quelque chose mais j'ai quelques problèmes et je pense que ce n'est pas une bonne approche aussi.Sélectionnez les lignes avec la case à cocher dans SlickGrid

Il est possible d'avoir des cases à cocher dans les lignes et de cliquer dessus directement, pas comme dans exemple4-model?

Mon idée était:

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

Merci!

+0

Je mets un exemple ici: http://li.ro/4bJw avec ce que j'ai fait – nightm

Répondre

Questions connexes