2013-02-09 52 views
7

मेरे पास एक Ext.grid.Panel है जिसे मैं किसी फ़ील्ड द्वारा समूहीकृत करना चाहता हूं, लेकिन समूह शीर्षलेख में एक अलग फ़ील्ड प्रदर्शित करना चाहता हूं। उदाहरण के लिए, यदि मेरे मॉडल में status_id और status_name फ़ील्ड हैं, तो मैं status_id से समूह करना चाहता हूं, लेकिन समूह शीर्षलेख में status_name दिखाएं।एक अतिरिक्त ग्रिड समूहिंग हेडर में एक अलग फ़ील्ड का मूल्य कैसे दिखाएं?

मैंने groupHeaderTpl विकल्प के साथ खेला है लेकिन अभी तक कोई भाग्य नहीं है। यह कैसे किया जा सकता है?

उत्तर

16

आप

groupHeaderTpl:'{[console.log(values)]}' 

इस तरह आप सभी posible मूल्यों का निरीक्षण करने और मूल्य आप देख रहे हैं प्राप्त करने के लिए सही रास्ता चुन सकते हैं करके grouperHeaderTpl मूल्यों डिबग कर सकते हैं। इस मामले तुम क्या करने की जरूरत में

groupHeaderTpl: '{[values.rows[0].data.status_name]}' 

यहाँ हालांकि मैंने सोचा कि मैं आंकड़ों के कि रास्ते में पहुँच नहीं करना चाहिए आप पूरे उदाहरण

/* Sample Data */ 
var data = [ 
     { "status_id": 1, "status_name": "Pending"}, 
     { "status_id": 2, "status_name": "Ready"}, 
     { "status_id": 3, "status_name": "Processing"}, 
     { "status_id": 4, "status_name": "Unavailable"}, 
     { "status_id": 5, "status_name": "Ready"}, 
     ]; 

/* Model */ 
Ext.define("StatusModel", { 
    extend: 'Ext.data.Model', 
    fields: ['status_id', 'status_name'] 
}); 

/* Store */ 
Ext.create('Ext.data.Store', { 
storeId:'statusStore', 
model: "StatusModel", 
groupField: 'status_id', 
data: data, 
proxy: { 
    type: 'memory', 
    reader: { 
     type: 'json' 
    } 
} 
}); 

/* Grouping Feature */ 
var groupingFeature = Ext.create('Ext.grid.feature.Grouping',{ 
    groupHeaderTpl: '{[values.rows[0].data.status_name]}' 
}); 

/* Grid Panel */ 
Ext.create('Ext.grid.Panel', { 
title: 'Status', 
store: Ext.getStore('statusStore'), 
columns: [ 
    { text: 'Id',  dataIndex: 'status_id' }, 
    { text: 'Name', dataIndex: 'status_name', flex: 1} 
], 
features: [groupingFeature], 
renderTo: Ext.getBody() 
}); 

http://jsfiddle.net/alexrom7/shZLf/1/

+0

अच्छा समाधान खोजने के कर सकते हैं। –