Saya telah menerapkan kisi-kisi yang apik dengan model pemilihan khusus serta plugin pemilihan kotak centang kustom. Saya juga menambahkan kotak centang level grup untuk memungkinkan pemilihan toggling di level atas. Salah satu persyaratan saya adalah pengelompokan yang diciutkan masih dapat dipilih melalui kotak centang pengelompokan tingkat induk apa pun.
Batu sandungan saya sepertinya adalah saya tidak tahu cara memilih baris yang saat ini tidak terlihat di grup. Grid apik mempertahankan set item yang dipilih secara visual sementara tampilan data grid mempertahankan set lengkap item yang dipilih, terlihat atau tidak. Namun, saya tidak tahu cara mem-pipe data ketika mengklik kotak centang grup dari baris yang diciutkan.
Saya mengkonfigurasi grid saya seperti ini:
let checkboxSelectionModel = new Slick.CheckboxSelectionModel();
this.grid.setSelectionModel(checkboxSelectionModel);
this.grid.registerPlugin(new Slick.Data.GroupItemMetadataProvider());
let onSelectedRowIdsChanged = this.dataProvider.syncGridSelection(this.grid, true, true);
onSelectedRowIdsChanged.subscribe(
function(e: any, args: any)
{
//business logic stuff
}
);
let groupedCheckboxSelector = new Slick.GroupedCheckboxSelectColumn({
cssClass: "slick-cell-checkboxsel",
onSelectedRowIdsChangedHandler: onSelectedRowIdsChanged
});
let columns = this.grid.getColumns();
columns.unshift(groupedCheckboxSelector.getColumnDefinition());
this.grid.setColumns(columns);
this.grid.registerPlugin(groupedCheckboxSelector);
GIST untuk plugin kustom, terlalu lama untuk menyertakan di sini
Khususnya, jika Anda melihat garis 57
dari slick.checkboxselectionmodel
:
$.each(dataItem.rows, function(index, groupRow) {
var groupRowIndex = _self._grid.getData().getRowById(groupRow.id);
if (groupRowIndex) {
selection.push(groupRowIndex);
}
});
groupRowIndex tidak pernah diselesaikan untuk baris tersembunyi, dan karenanya tidak pernah dipilih. Saya mencoba untuk memperluas grup ketika diklik, kemudian menyelesaikan baris, yang berfungsi tetapi ketika grup itu runtuh sesudahnya, baris yang salah dipilih di grid.
bantuan apa pun akan sangat dihargai!
beberapa catatan:
- jika saya memilih satu baris dan menciutkan grupnya, item tetap mempertahankan pilihannya
- ada cabang berbeda dari slick grid yang memiliki implementasi seleksi grup yang sama sekali tidak fungsional