समूह स्तर चयन के साथ स्लिकग्रिड मल्टी-लेवल ग्रुपिंग


10

वर्तमान ग्रिड स्थिति

मैंने एक कस्टम चयन मॉडल के साथ एक कस्टम चेकबॉक्स चयन प्लगइन के साथ एक चालाक ग्रिड लागू किया है। मैंने शीर्ष स्तर पर चयन की अनुमति देने के लिए समूह स्तर के चेकबॉक्स भी जोड़े हैं। मेरी आवश्यकताओं में से एक यह है कि ध्वस्त समूह किसी भी मूल स्तर के समूह चेकबॉक्स के माध्यम से अभी भी चयन करने योग्य हैं।

मेरी ठोकरें लगती हैं कि मैं यह नहीं जान सकता कि उन पंक्तियों का चयन कैसे करें जो वर्तमान में समूह पर दिखाई नहीं दे रहे हैं। स्लिक ग्रिड नेत्रहीन चयनित वस्तुओं के सेट को बनाए रखता है जबकि ग्रिड डेटा दृश्य चयनित आइटमों के पूर्ण सेट को दृश्यमान या नहीं बनाए रखता है। हालाँकि, मैं यह पता नहीं लगा सकता कि ढही हुई पंक्ति के समूह चेकबॉक्स पर क्लिक करने पर डेटा में पाइप कैसे डाला जा सकता है।

मैं अपनी ग्रिड को इस तरह कॉन्फ़िगर कर रहा हूं:

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 को कभी भी छुपी हुई पंक्तियों के लिए हल नहीं किया जाता है, और इसलिए इसे कभी नहीं चुना जाता है। मैंने क्लिक करने पर समूह का विस्तार करने का प्रयास किया, फिर पंक्तियों को हल करें, जो काम करता है लेकिन जब समूह बाद में ढह जाता है, तो गलत पंक्तियों को ग्रिड में चुना जाता है।

किसी भी तरह की सहायता का स्वागत किया जाएगा!

कुछ नोट:


2
मैं जल्द से जल्द एक मोटी इनाम रखूंगा
जुलिएन

1
इसके लिए एक खुला मुद्दा # 165 है, और मुझे लगता है कि जो मदद करेगा वह यह है कि आप या कोई और सिर्फ 6pac कांटे में उस मुद्दे को ठीक करने के लिए प्रदान करेगा। यह समुदाय से योगदान के साथ एक ओपन सोर्स प्रोजेक्ट है, इसलिए कोई भी योगदान वर्षों से इस दायित्व को बेहतर बनाने में मदद करता है।
ghiscoding

जवाबों:


1

अपडेट किए गए प्लगइन्स को जिप

एक कार्यात्मक समाधान जो मुझे विश्वास है कि किसी को भी सही रास्ते पर समान व्यवहार की मांग कर सकता है, हालांकि, मुझे यकीन नहीं है कि इनमें से कोई भी प्लगइन्स स्वतंत्र रूप से काम करेगा। मेरी एक आवश्यकता केवल पंक्ति चेकबॉक्स के माध्यम से पंक्ति चयन की अनुमति देना था।

एक गेटा (मुझे यकीन है कि आसानी से सुधार हुआ है) यह है कि समूह स्तर चेकबॉक्स को अभी भी आपके समूह प्रारूप ऑपरेटर में परिभाषित किया जाना है

मेरे मुद्दे का मुख्य समाधान समूह-स्तरीय चयन / अचयनित करने के दौरान सभी ढह गए समूहों का विस्तार करना था, किसी भी चयनित / अचयनित दिनचर्या का प्रदर्शन करना, फिर किसी भी पहले से विस्तारित समूहों को ध्वस्त करना

संपादित करें:

यह तब विफल होता है जब ग्रिड में बड़ी मात्रा में डेटा (10k पंक्तियाँ) होती हैं। इनाम के साथ फिर से खोलना।

ऐसा लगता है कि कई समूहों के मुद्दों के कारण प्रदर्शन का विस्तार और पतन हो रहा है।


1
@AmerllicA यह उत्तर समय से पहले था और बड़े डेटासेट के साथ काम नहीं करता है
जुलिएन

1
@AmerllicA यह केवल कुछ इनाम के लिए इस तरह खुश करने के लिए अनैतिक नहीं है, लेकिन वास्तव में इस जवाब के पोस्ट होने के बाद ओपी ने इनाम शुरू किया और ऐसा इसलिए है क्योंकि ओपी के पास इस जवाब के साथ वांछित परिणाम नहीं थे। तो, कृपया इस तरह से भीख मांगना बंद कर दें, जो आपने अर्जित नहीं किया है और इसके बजाय ओपी को अपनी समस्या के साथ आज़माएं और मदद करें यदि आपके पास एक अच्छा / बेहतर समाधान आने का समय है।
क्रिस्टोस लिट्रास

@ChristosLytras, मैं अपनी टिप्पणी तुरंत हटा दूंगा, संकेत के लिए धन्यवाद।
अमेरिकालिका

@ChristosLytras ने एक ही बात सोची, इसे बेहतर नहीं कहा जा सकता था
इस्लाम एल्शोबोक्शी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.