2015-04-02 3 views
2

У меня есть две колонки флажков на слайде и не могут на данный момент правильно установить флажки. Если вы проверите на одной стороне, другая сторона также будет проверена, если вы выберете все с обеих сторон, обе стороны будут проверены. Есть ли способ перегрузить registerplugin на slickgrid, чтобы оба флажка ведут себя индивидуально?Два флажка с галочкой для выбора всех

У меня было что-то в этом духе.

switch (new checkboxselected().getcolumn()) { 
    case checkboxApprove = grid.registerPlugin(checkboxApprove), 
     break 
    case checkboxDeny = grid.registerPlugin(checkboxDeny) 
} 

both columns

Checking on select all selects both columns![][2]

var checkboxApprove = new Slick.CheckboxSelectColumn({ 
    cssClass: "slick-cell-checkboxsel" 
}); 
columns.push(checkboxApprove.getColumnDefinition()); 

var checkboxDeny = new Slick.CheckboxSelectColumn({ 
    cssClass: "slick-cell-checkboxsel" 
}); 
columns.push(checkboxDeny.getColumnDefinition()); 

$(function() { 
    for (var i = 0; i < 10; i++) { 
     var d = (data[i] = {}); 
     d["title"] = "Task " + i; 

    } 

    grid = new Slick.Grid("#myGrid", data, columns, options); 
    grid.setSelectionModel(new Slick.RowSelectionModel({selectActiveRow: false})); 
    grid.registerPlugin(checkboxApprove); 
    grid.registerPlugin(checkboxDeny); 

    var columnpicker = new Slick.Controls.ColumnPicker(columns, grid, options); 

    grid.render(); 

ответ

2

Вопрос заключается в том, что вы не имеете уникальный идентификатор столбца для каждого столбца. Они оба используют идентификатор по умолчанию (_checkbox_selector) и, следовательно, взаимодействуют друг с другом. Это разумное предположение, поскольку я не могу проверить его на данный момент.

Вы должны быть в состоянии это исправить, добавив столбец идентификатора в опциях, передаваемых в:

var checkboxDeny = new Slick.CheckboxSelectColumn({ 
     columnId: "_checkbox_selector_deny" 
     cssClass: "slick-cell-checkboxsel" 
}); 
Смежные вопросы