2010-05-04 18 views
6

grid.getcolumnModel()। SetHidden (0, true) कॉलम मेनू और ग्रिड पैनल के लिए प्रभावित नहीं होगा। कॉलम मेनू में आप कॉलम को सक्षम या अक्षम कर सकते हैं। हम गतिशील रूप से ग्रिड पैनल में कॉलम को कैसे जोड़ या निकाल सकते हैं?ग्रिड पैनल में कॉलम को हटाने या जोड़ने के लिए

उत्तर

0

कॉलम परिवर्तन दिखाने के लिए आपको Ext.grid.GridView को रीफ्रेश करना पड़ सकता है।

grid.getView().refresh(true) // true to refresh HeadersToo 
6

मुझे लगता है कि यह आप http://www.extjs.com/forum/showthread.php?53009-Adding-removing-fields-and-columns

के लिए क्या देख रहे वाकई रूप में अच्छी तरह थ्रेड में पोस्ट # 37 को देखो बनाने है।

+0

इस सही जवाब – Sam007

+0

विचार यहाँ सवाल का हल और फिर एक संदर्भ अधिक जानकारी के लिए देखने के लिए है है ... सिर्फ एक लिंक ... दृष्टि। – Roberto

0

ExtJs 3.x में कोड के इस टुकड़े में मदद कर सकते हैं:

नोट: मैं चेकबॉक्स का इस्तेमाल किया है पहले कॉलम के रूप में,। यदि आपको इसकी आवश्यकता नहीं है तो कृपया उस रेखा को हटा दें।

var newColModel = new Ext.grid.ColumnModel({ 
    columns: [ 
     grid.getSelectionModel(), 
     { 
      header: 'New column 1' 
     }, { 
      header: 'New column 2' 
     } 
    ], 
    defaults: { 
     sortable: false 
    } 
}); 

grid.store.reader = new Ext.data.JsonReader({ 
    root: 'items', 
    totalProperty: 'count', 
    fields: [ 
     // Please provide new array of fields here 
    ] 
}); 

grid.reconfigure(grid.store, newColModel); 
1
जो लोग इस सवाल Ext.js 4.2 और avobe के लिए एक समाधान की तलाश में तक पहुँचने के लिए

मैं का उपयोग करें "reconfigure" विधि गतिशील ग्रिड स्तंभों को बदलने के लिए: यहाँ http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.grid.Panel-method-reconfigure

एक अच्छा उदाहरण है: http://marcusschiesser.de/2013/12/21/dynamically-changing-the-structure-of-a-grid-in-extjs-4-2/

0

reconfigure समारोह प्लग इन के साथ अच्छी तरह से काम न करे। विशेष रूप से यदि आपके पास FilterBar जैसा कुछ है।

यदि आपको केवल एक बार ऐसा करने की आवश्यकता है, तो उपयोग की जाने वाली कुछ वैश्विक सेटिंग्स के आधार पर initComponent का उपयोग कर सकते हैं और अपनी प्रारंभिक कॉन्फ़िगरेशन बदल सकते हैं। बुला this.callParent();

ExtJS 6.2 के साथ परीक्षण किया गया से पहले config करने के लिए सभी परिवर्तन करने के लिए सुनिश्चित करें (लेकिन यह भी ExtJS 4 के लिए काम करना चाहिए और 5)

initComponent: function() { 
    // less columns for this setting 
    if (!app.Settings.dontUseFruits()) { 
     var newColumns = []; 
     for(var i=0; i<this.columns.items.length; i++) { 
      var column = this.columns.items[i]; 
      // remove (don't add) columns for which `dataIndex` starts with "fruit" 
      if (column.dataIndex.search(/^fruit/) < 0) { 
       newColumns.push(column); 
      } 
     } 
     this.columns.items = newColumns; 
    } 

    this.callParent(); 
0

शायद

store.add कोशिश (नया रिकॉर्ड); store.commitChanges();

या store.remove() और store.commitChanges()

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