2011-08-08 19 views
7

मेरे पास डेटास्टोर और ग्रिड है। मैं फुलनाम नामक एक नया कॉलम घोषित करने की कोशिश कर रहा हूं जो दो डेटैनडेक्स को गठबंधन करेगा। इस मुद्दे पर शोध करने में कुछ समय व्यतीत करने के बाद, मैं समझता हूं कि यह या तो रेंडरर (ग्रिड लेवल) हो सकता है या यह डेटास्टोर (मैपिंग?) में एक कस्टम कॉलम हो सकता है।Extjs 4 - दो ग्रिड कॉलम का संयोजन

क्या कोई ऐसा कोड नमूना प्रदान कर सकता है जो इस तरह के कॉलम को लागू करता हो?

// XML 
<person> 
    <first_name>John</first_name> 
    <last_name>Smith</last_name> 
</person> 

// Store 
Ext.create('Ext.data.Store', { 
    autoLoad: true, 
    storeId: 'TestStore', 
    fields: ['first_name', 'last_name'], 
    data: parsed_xml_object, 
    proxy: { 
     type: 'memory', 
     reader: { 
      type: 'xml', 
      record: 'person' 
     } 
    } 
}); 

// Grid 
TestGrid = Ext.create('Ext.grid.Panel', { 
    title: 'Test', 
    store: Ext.data.StoreManager.lookup('TestStore'), 
    columns: [ 
     { header: 'First Name', dataIndex: 'first_name' }, 
     { header: 'Last Name Name', dataIndex: 'last_name' }, 
    ], 
    height: 200, 
    autowidth: true 
}); 

उत्तर

10

एक कस्टम रेंडरर का उपयोग करें:

{ 
    header: "Name", 
    dataIndex: 'last_name', 
    renderer: function(value, p, r) { 
     return r.data['last_name'] + ', ' + r.data['first_name']; 
    } 
} 
+0

धन्यवाद! यह काम किया! –

+0

@Diodeus कोड के लिए धन्यवाद, लेकिन क्या आप मुझे समझा सकते हैं कि एनन फ़ंक्शन में पैरामीटर क्या इंगित करते हैं? क्या इसके लिए दस्तावेज है? – MHTri

+0

देखें "विकल्प 1. कस्टम रेंडरर को परिभाषित करें" पृष्ठ के बारे में 1/2 कहें: http://www.sencha.com/learn/grid-faq/ –

2

आप जो एक स्तंभ परिभाषा वर्ग है जो एक के लिए कॉन्फ़िगर XTemplate

http://docs.sencha.com/ext-js/4-0/#/api/Ext.grid.column.Template

का उपयोग कर एक मॉडल के डेटा प्रसंस्करण द्वारा एक मूल्य renders है इसके लिए templeteColumn उपयोग कर सकते हैं
संबंधित मुद्दे