2010-12-30 13 views
6

Model.getSelectionModel()। SelectRow (0) काम नहीं ...लोड ग्रिड के बाद ग्रिड में पंक्ति का चयन कैसे करें?

+7

काम नहीं करते! ???? काम क्यों नहीं करते? – Matt

+1

अधिक कोड दिखाएं (विशेष रूप से आप ऊपर की रेखा को कैसे ट्रिगर कर रहे हैं)। त्रुटि कंसोल में कोई त्रुटि संदेश हैं? – Mchl

उत्तर

20
this.store = new Ext.data.Store({ 
    ... 
    listeners: { 
     load: function() { 
      this.grid.getSelectionModel().selectFirstRow(); 
     }, 
     scope: this 
    } 
}); 

this.grid = new Ext.grid.GridPanel({ 
    ... 
    store: this.store 
}); 

कुछ इस तरह काम करना चाहिए, this.store संभालने और this.grid मौजूद हैं, मुझे यकीन है कि आप इसे अनुकूलित कर सकते हैं कर रहा हूँ।

+1

स्टोर ऑब्जेक्ट में ग्रिड क्यों होना चाहिए? आम तौर पर यह दूसरी तरफ गोल है। – Mchl

+0

क्योंकि स्टोर से लोड इवेंट को ग्रिड नहीं किया जाता है। मैं यह नहीं कह रहा हूं कि स्टोर में ग्रिड प्रॉपर्टी है या नहीं, वास्तव में आपको काम करने के लिए 'इस' में अपने स्वयं के संदर्भ होना चाहिए, लेकिन उसे किसी भी तरह से होना चाहिए। – Lloyd

2

मैं सिर्फ लियड के जवाब को दोहरा रहा हूं।
यह भी सुनिश्चित करें कि आपने ग्रिड में पंक्ति चयन मॉडल को कॉन्फ़िगर किया है।

var grid = new Ext.grid.GridPanel({ 
       store: ...., 
       sm: new Ext.grid.RowSelectionModel({singleSelect: true}), 

       // other grid configurations goes here 
       listeners: { 
       render : function(grid){ 
        grid.store.on('load', function(store, records, options){ 
        grid.getSelectionModel().selectFirstRow();  
        });      
       } 
       } 
      })  
+0

आपके पास कुछ स्कोपिंग समस्याएं और अनावश्यकता हो सकती है। – Lloyd

+6

grid.getSelectionModel()। चुनें (0); – Danny

+0

@ डैनी: आपकी कोड लाइन काम करती है - धन्यवाद – Sam

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