2015-03-04 2 views
3

извините заранее, я французский, и мой английский настолько плохо LOLExtjs 3,4 - выберите строку после загрузки магазина моего GridPanel

Моя сетевая панель:

new Ext.grid.GridPanel({ 
        title: "Utilisateurs", 
        layout: 'fit', 
        style: marginElement, 
        columns: mesColonnesUtil, 
        id: 'gridPanelUtil', 
        width: '70%', 
        colspan:2, 
        collapsible: false, 
        layout: 'fit', 
        autoWidth: true, 
        monitorResize: true,     
        height: 200, 
        store: storeUtil, 
        stripeRows: true, 
        selModel: new Ext.grid.RowSelectionModel({ 
         singleSelect: true 
        }), 
        listeners: { 
         click: function() { 
          this.selModel.getSelected(); 


         } 
        } 
       }), 

Мой магазин:

var storeUtil = new Ext.data.JsonStore({ proxy: proxyGrUtil, 
    baseParams: { method: 'storeUtil', gr: '' }, 
    autoLoad: true, 
    fields: ["Nom", "Prenom", "LDAPUser"], 
    root: "rows", 
    totalProperty: "total", 
    successProperty: "success" 
}); 

Мой выпадающий с выберите событие, я загрузить мой сетки панель с Params:

xtype: 'combo', 
        store: storeGrUtil, 
        id: 'comboGrUtil_GrUtil', 
        width: 300, 
        valueField: "id", 
        displayField: "lib", 
        triggerAction: 'all', 
        mode: 'local', 
        listeners: { 
         select: function() { 
          Ext.getCmp('gridPanelUtil').store.load({ 
           params: { 
            gr: Ext.getCmp('comboGrUtil_GrUtil').getValue() // this the value of items selected combobox 
           } 
          }); 

После этого события я не могу выбрать строку на панели сетки, почему? Я не понимаю. Помогите мне пожалуйста.

Pour les français qui passerais pas là: J'ai un grid panel, que je recharge après que j'ai sélectionné un élément dans ma combobox. Mais après cela, je ne peut plus sélectionner de ligne dans mon grid panel, je ne comprend pas pourquoi. Merci!

+1

Я голосовал, чтобы закрыть этот вопрос как не относящийся к теме, потому что Stack Overflow - это сайт на английском языке. –

+0

Даже перевод Google может перевести это: D Французский материал, который вы написали, довольно простой –

+0

Я голосую, чтобы закрыть этот вопрос как не по теме, потому что он написан на французском, а не на английском. – Jubobs

ответ

0

вам нужно использовать selectionModel сетки, может быть, вы можете передать функцию обратного вызова при вызове load в магазин

store.load({ 
    callback: function(records, operation, success) { 
     //operation object contains all of the details of the load operation 
     //records contains all the records loaded 
     console.log(records); 
    } 
}); 

можно назвать

grid.getSelectionModel().select(object/index); 
//you need to pass record instance or index 

надеюсь, что это помогает

0

Следующее английское сообщение.

Je ne suis pas français mais québécois. Je vais te répondre tout de même dans la langue de Molière afin que tu puisses bien saisir.

Quand tu fais ton store.load, ta grille se vide et se relance avec les nouvelles données. Ceci ce fait à partir d'un évènement alors tu ne peux pas sélectionner la ligne après l'appel mais seulement quand l'évèmentment est complété. C'est pourquoi tu devrais mettre la sélection dans cette évènement.

Si je me rappelle bien le contenu de la grille devrait bien être chargé à ce moment. Ajoute Donc Un слушателей сюр l'Evenement нагрузка де тонный магазин де Cette Facon:

 

    var storeUtil = new Ext.data.JsonStore({ proxy: proxyGrUtil, 
     baseParams: { method: 'storeUtil', gr: '' }, 
     autoLoad: true, 
     fields: ["Nom", "Prenom", "LDAPUser"], 
     root: "rows", 
     totalProperty: "total", 
     successProperty: "success", 
     listeners: 
      load: function(e, records, options){ 
       Ext.getCmp("gridPanelUtil").getSelectionModel().selectRow(maLigneASelectionner); 
      } 
     } 
}); 

Si ça п fonctionne па, JE тех suggère де Джетер ООН законотворчество сюры d'Autres EVENEMENTS сотта пар Exemple rowsinserted ей GridView.

Bonne шанс.

Английский сообщение:

Проблема заключается вызов события загрузки магазина. Вы должны выполнить выбор строки в этом случае, а не после вызова. Если я хорошо помню, сетка полностью загружена в это событие. Взгляните выше на тег кода.

Если он не работает, я предлагаю взглянуть на другое событие. Возможно, с rowinerted gridView.

Надеюсь, что эта помощь.

Удача