'da grid sırasının seçilmesi/seçilmesi Ext JS'ye yeni çıkıyorum. Satırlardan herhangi birini seçtiğimde/tıklattığımda, seçili satırla ilgili belirli verilerin ızgaranın altındaki panelde görüntülendiği bir ızgara paneli üzerinde çalışıyorum. Ayrıca pencere yüklendiğinde, ilk önce varsayılan olarak seçili/vurgulanmalıdır. Şu anda ızgara & panosu doğru şekilde görüntüleniyor. Seçilen satırla ilgili veriler bile panelde görüntülenir ancak satır vurgulanmıyor. grid.focusRow(0)
& grid.getRow(0).highlight()
yöntemlerini denedim, ancak çalışmıyorlar. Aşağıda benim kodum. veri deposundanExtJS
//the js file code
initComponent : function() { //within the window instance
var single = false;
var store = new Ext.data.XmlStore({//all necessary fields added}); //store
HttpUtil.syncCall(this.url, "GET", this.loadStore, store,this);
var acctTplMarkup = [//the fields here are displayed on row selection ];
/*The template for displaying the details of the selected row */
this.acctTpl = new Ext.Template(acctTplMarkup);
//check for request type, if type is range of checks create the grid
if (single == false) {
var gridView = new Ext.grid.GridView();
var colModel = new Ext.grid.ColumnModel([ {
header : 'Status',
dataIndex : 'status'
}, {
header : 'Message',
dataIndex : 'message'
} ]);
var selModel = new Ext.grid.RowSelectionModel({
singleSelect : true
});
grid = new Ext.grid.GridPanel({
...
listeners : {
render : function(grid) {
Ext.getCmp('check').store.on('load',function(store, records, options) { //check is the id value for the window instance
grid.getSelectionModel().selectFirstRow();
});
}
}
}); //gridPanel
} //if
/* If request type is range select then display the grid */
...
if (single == false) {
grid.getSelectionModel().on('rowselect', function(sm, rowIdx, r) {
Ext.getCmp('check').acctTpl.overwrite(Ext.getCmp('detailPanel').body, r.data);
}); //rowselect
} //if
Ext.apply(this, {
...
listeners : {
'afterrender' : function(){
Ext.getCmp('check').acctTpl.overwrite(Ext.getCmp('detailPanel').body, this.store.getAt(0).data,true);
}
}
});
Check.superclass.initComponent.apply(this, arguments);
}, //initComponent
veri & düzgün görüntülenen ama sadece satır vurgulanır değil yüklenir. Nerede yanlış gittiğimi söyleyen var mı?
Cevabınız için teşekkürler. Bu yöntemleri denedim ama çalışmıyorlar. Kılavuzum tamamlandı ama bir şekilde ilk satırı vurgulayamıyorum. Başka yolu var mı? –
Belirtilen yöntemlerle ilgili herhangi bir hata mı alıyorsunuz? Mümkün olan tüm geçici çözümler, gelecekte size ek sorunlar getirecektir, bu nedenle, kendi başına yapılmış bir şeyi denemeden önce mevcut yolu çalışma deneyimini daha iyi deneyebilirsiniz. – Li0liQ
'getView(). GetRow' ExtJS 4'te yok; getView(). getNode' kullanın. –