2015-04-14 9 views
8

मैं कोणीय यूई-ग्रिड संस्करण 3.0 के साथ काम कर रहा हूं और ग्रिड में एक संख्या कॉलम जोड़ने के लिए पंक्ति की अनुक्रमणिका प्राप्त करने का तरीका नहीं ढूंढ सकता। मैं मेरी मदद करना चाहता हूं।कोणीय यूई-ग्रिड में पंक्ति सूचकांक कैसे प्राप्त करें 3.0

+0

मैं भी आपकी मदद करना चाहता हूं, लेकिन सबसे पहले आपको यह दिखाने की ज़रूरत है कि आपने क्या प्रयास किया है ताकि हम इसे बेहतर बनाने में आपकी सहायता कर सकें। –

+0

@ डेविड ग्रीनबर्ग मैं सेल टेम्पलेट से पंक्ति का सूचकांक प्राप्त करना चाहता हूं। एनजी-ग्रिड इस तरह से row.rowIndex में प्राप्त किया जाता है, लेकिन यूई-ग्रिड 3.0 – cristianqr

उत्तर

23

पंक्ति की अनुक्रमणिका आसानी से प्राप्त करने का कोई तरीका नहीं है, इसलिए यह निर्भर करता है कि आप क्या करने का प्रयास कर रहे हैं। जब कोई डेटा टाइप करता है तो आप नंबरिंग की अपेक्षा करते हैं - क्या आप चाहते हैं कि संख्याएं मूल डेटा में रहें, या क्या आप उन्हें बदलना चाहते हैं और नए सॉर्ट ऑर्डर में संरेखित करना चाहते हैं?

पूछे जाने वाले प्रश्न http://ui-grid.info/docs/#/tutorial/499_FAQ में हम पाते हैं:

यहाँ सवाल आप वास्तव में क्या हासिल करने की कोशिश कर रहे हैं। क्या आप वास्तविक पंक्ति अनुक्रमणिका चाहते हैं, या आप अपनी सभी पंक्तियों में अनुक्रमिक आईडी प्रदर्शित करना चाहते हैं?

बाद है, तो आप यह सिर्फ अपने डेटा के लिए एक काउंटर कॉलम जोड़ कर कर सकते हैं:

$scope.myData.forEach(function(row, index){ 
    row.sequence = index; 
}); 

आप ग्रिड internals भीतर पंक्ति के सूचकांक दिखाना चाहते हैं, तो यह जो पर निर्भर करता है आंतरिक आप चाहते हैं। आप grid.rows के भीतर पंक्ति की अनुक्रमणिका प्राप्त कर सकते हैं, जो पंक्ति को दिखाएगा क्योंकि यह मूल पंक्ति सूची में नहीं है (फ़िल्टर नहीं किया गया है और न ही क्रमबद्ध है), या grid.renderContainers.body.visibleRowCache के भीतर पंक्ति की अनुक्रमणिका (फ़िल्टर और सॉर्ट किया गया), या वर्तमान में प्रदर्शित पंक्तियों के भीतर पंक्ति का रेंडर इंडेक्स (वर्चुअलाइजेशन दिया गया है, यह आमतौर पर एक विशेष रूप से बेकार नंबर है)।

cellTemplate: '<div class="ui-grid-cell-contents">{{grid.renderContainers.body.visibleRowCache.indexOf(row)}}</div>' 
+0

में इसे कैसे करना है, मैं अनुक्रम दिखाना चाहता हूं ... क्या आप उपरोक्त से काउंटर वैल्यू को मैप इरेशन के लिए कैसे मैप करना चाहते हैं? धन्यवाद – Jay

+0

यह मेरे लिए काम करता है लेकिन जब मैं टेबल निर्यात करता हूं, तो यह इन इंडेक्स नंबरों को याद करता है। कोई विचार। –

+0

निर्यातक अंतर्निहित डेटा से काम करता है, न कि प्रस्तुत संस्करण। यदि आप एक इंडेक्स चाहते हैं जो निर्यात के साथ भी काम करता है, तो आपको अपने डेटा में एक क्रमांकित अनुक्रम कॉलम रखना होगा। – PaulL

15

cellTemplate:

आप ठीक है कि जब भी किसी को सॉर्ट करता या फिल्टर तो संख्या बदल जाएगा रहे हैं, तो आप इसे एक cellTemplate है, जो की तरह कुछ हो जाएगा के साथ कर सकता ' {{rowRenderIndex + 1}} '

0

इस समस्या को हल करने के लिए इस तरह का उपयोग करके ...

$http.get('./api/ioni_users') 
     .success(function(data) { 
      $scope.gridOptions.data = data; 
      angular.forEach(data, function(data, index) { 
       data["index"] = index+1; 
       //data.push({"index":index+1}) 
      }) 
     }); 
0

मेरे लिए काम किया निम्नलिखित के रूप में मैं सूचकांक ओ देखना चाहते थे पंक्ति के रूप में यह पूरे डेटासेट से संबंधित है जो उपयोगकर्ता को दिखाई नहीं दे रहा था। यह साफ किया जा सकता है, लेकिन इस कच्चे कोड है कि मैं सूत्र

((0/100)+((2*100)-100))+1 where 

0 = rowIndex (Zero Based) 
100 = pagination page size 
2 = current page 
+1 = because the array is zero based 


cellTemplate: '<div class="ui-grid-cell-contents">{{(((grid.renderContainers.body.visibleRowCache.indexOf(row)/grid.options.paginationPageSize)*100)+((grid.options.paginationPageSize * grid.options.paginationCurrentPage) - grid.options.paginationPageSize)) + 1}} </div>' 

आशा इस मदद करता है का उपयोग कर काम करने के लिए प्राप्त करने में सक्षम था।

संबंधित मुद्दे