ฉันใช้กริดที่ลื่นไหลด้วยรูปแบบการเลือกที่กำหนดเองรวมถึงปลั๊กอินการเลือกช่องทำเครื่องหมายที่กำหนดเอง ฉันได้เพิ่มช่องทำเครื่องหมายระดับกลุ่มเพื่ออนุญาตให้สลับการเลือกที่ระดับบนสุด หนึ่งในความต้องการของฉันคือการจัดกลุ่มที่ถูกยุบยังคงสามารถเลือกได้ผ่านช่องทำเครื่องหมายการจัดกลุ่มระดับผู้ปกครอง
บล็อกที่สะดุดของฉันดูเหมือนว่าฉันไม่สามารถเข้าใจวิธีเลือกแถวที่ไม่ปรากฏในกลุ่มในขณะนี้ เส้นตารางเรียบนั้นจะรักษาชุดของรายการที่เลือกทางสายตาในขณะที่มุมมองข้อมูลกริดเก็บชุดของรายการที่เลือกไว้เต็มรูปแบบให้มองเห็นหรือไม่ อย่างไรก็ตามฉันไม่สามารถหาวิธีการไพพ์ลงในข้อมูลได้เมื่อคลิกที่ช่องทำเครื่องหมายกลุ่มของแถวที่ยุบ
ฉันกำลังกำหนดค่ากริดเช่น:
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);
ส่วนสำคัญไปยังปลั๊กอินที่กำหนดเองนานเกินไปที่จะรวมไว้ที่นี่
โดยเฉพาะถ้าคุณดูที่บรรทัด57
ของslick.checkboxselectionmodel
:
$.each(dataItem.rows, function(index, groupRow) {
var groupRowIndex = _self._grid.getData().getRowById(groupRow.id);
if (groupRowIndex) {
selection.push(groupRowIndex);
}
});
groupRowIndex ไม่เคยได้รับการแก้ไขสำหรับแถวที่ซ่อนอยู่ดังนั้นจึงไม่เคยถูกเลือก ฉันพยายามที่จะขยายกลุ่มเมื่อคลิกแล้วแก้ไขแถวซึ่งใช้งานได้ แต่เมื่อกลุ่มถูกยุบหลังจากนั้นแถวที่ไม่ถูกต้องจะถูกเลือกในตาราง
ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมอย่างมาก!
หมายเหตุบางส่วน:
- ถ้าฉันเลือกแถวและยุบกลุ่มรายการจะยังคงเลือกไว้
- มีสาขาที่แตกต่างกันของตารางที่เรียบซึ่งมีการใช้งานไม่เท่ากันการเลือกกลุ่ม