0

グリッド内に編集可能なコンボをレンダリングしようとしています。以下は私のコードスニペットです

columns: [
         {
             text     : 'Account Name',
             name      : 'accountName', 
             width     : 80,    
             flex     : 4,                                      
             sortable : true,
             dataIndex: 'accountName'
          },
          {
             text     : 'Account Number',
                 name      : 'accountNumber',
             flex     : 2,                                        
             sortable : false,                               
             dataIndex: 'accountNumber',
             editor      : {'combobox',
                     typeAhead       : true,
                     selectOnTab     : true,
                     lazyRender      : true,
                     triggerAction   : 'all',
                     listClass       : 'x-combo-list-small',
                      queryMode       : 'local',
                      store           : emptyStore,

            },                                              

                    displayField    : 'acctNumber',
                    valueField      : 'acctNumber',
                    listeners: {
                            afterrender: function(comboField, eOpts)
                             {
                                // have to add two sub accounts - 1. account number of column 2.account number of column + "1" 
                               // first try with hard coded values
          var employeesStore = new Ext.data.ArrayStore({

          fields:['acctNumber'],
          data:[{acctNumber: '123456'},{acctNumber: '23456'}]
          })

         comboField.bindStore(employeesStore);
            }  
           }

         }



      },

しかし、実行すると、2つの空の行でドロップダウンが表示されます

誰かが私を助けることができますか?

ありがとうタラハン

4

1 に答える 1

0

これを行う理由は、列の dataIndex が、グリッドにバインドされているストア内のどのフィールドにもマップされないためです。に変更dataIndex: 'accountNumber'するとdataIndex: 'acctNumber'、データが表示されます。また、ストアにはグリッドにバインドされた「accountName」フィールドがないため、ストアにフィールド (および対応するデータ) を追加するまで、そのデータは表示されません。

于 2013-02-02T18:54:32.910 に答える