मैंने एक कस्टम चयन मॉडल के साथ एक कस्टम चेकबॉक्स चयन प्लगइन के साथ एक चालाक ग्रिड लागू किया है। मैंने शीर्ष स्तर पर चयन की अनुमति देने के लिए समूह स्तर के चेकबॉक्स भी जोड़े हैं। मेरी आवश्यकताओं में से एक यह है कि ध्वस्त समूह किसी भी मूल स्तर के समूह चेकबॉक्स के माध्यम से अभी भी चयन करने योग्य हैं।
मेरी ठोकरें लगती हैं कि मैं यह नहीं जान सकता कि उन पंक्तियों का चयन कैसे करें जो वर्तमान में समूह पर दिखाई नहीं दे रहे हैं। स्लिक ग्रिड नेत्रहीन चयनित वस्तुओं के सेट को बनाए रखता है जबकि ग्रिड डेटा दृश्य चयनित आइटमों के पूर्ण सेट को दृश्यमान या नहीं बनाए रखता है। हालाँकि, मैं यह पता नहीं लगा सकता कि ढही हुई पंक्ति के समूह चेकबॉक्स पर क्लिक करने पर डेटा में पाइप कैसे डाला जा सकता है।
मैं अपनी ग्रिड को इस तरह कॉन्फ़िगर कर रहा हूं:
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 को कभी भी छुपी हुई पंक्तियों के लिए हल नहीं किया जाता है, और इसलिए इसे कभी नहीं चुना जाता है। मैंने क्लिक करने पर समूह का विस्तार करने का प्रयास किया, फिर पंक्तियों को हल करें, जो काम करता है लेकिन जब समूह बाद में ढह जाता है, तो गलत पंक्तियों को ग्रिड में चुना जाता है।
किसी भी तरह की सहायता का स्वागत किया जाएगा!
कुछ नोट:
- यदि मैं किसी पंक्ति का चयन करता हूं और उसके समूह को ध्वस्त करता हूं, तो आइटम उसके चयन को बनाए रखता है
- स्लिक ग्रिड की एक अलग शाखा है जिसमें समूह चयन के समान रूप से गैर-कार्यात्मक कार्यान्वयन है