2016-04-11 17 views
1

テーブルインスタンス化で動的にグリッドに列を追加したいと思います。 だから、私はあなたが見ることができるように、roweditingプラグインはここでも使用されている次のセクションExtJS 6.グリッドに列を追加する

var clmn = { 
       xtype: 'checkcolumn', 
       dataIndex: 'test, 
       editor: { 
        xtype: 'checkboxfield' 
       } 
      }; 
    config.columns.push(clmn); 

でgridPanelにプロセス機能を追加しました。

実際には、列が追加され、画面に表示されます。しかし、ロードされた正しいデータを保持しておらず、モデルのdefaultValueだけです。

行修正(行編集プラグインを開始したとき)で実データが表示されます。

ここで問題は何ですか?このようなメタデータやSTHをリフレッシュするために使用されなければならないいくつかのリフレッシュ方法があるかもしれ..

をしてください、)(私は煎茶・アーキテクトを経由して働いています考慮に

+0

私はレコードを処理し、いくつかの追加フィールドを追加するためのストロークのリスナーを持っています。実際にはこのようなフィールドにのみ問題があります – anastsiacrs

答えて

1

columns.pushを取ることは適切ではありませんこれを行う方法。だからあなたはhereと記載されている再構成方法を使うべきです。ストアに既に新しい列のフィールドがある場合は、再度その列を渡す必要はありません。現在の列を取得して新しい列を追加し、グリッドを再構成するだけです。

編集のための回答:あなたの問題は以前よりも簡単です。下のように列を渡すことができます。

var yourGenericColumns = [ 
        {text: 'First Name', dataIndex:'firstname'}, 
        {text: 'Last Name', dataIndex:'lastname'}]; 

yourGenericColumns.push({text : 'Age', dataIndex: 'age'}); 

Ext.create('YourApp.YourCustomGrid',{ 
    columns : yourGenericColumns 
}); 
+0

グリッドのインスタンスが既に存在する場合、これは機能します。私の場合は、プロセス設定で追加された列、つまりコンストラクタの前に – anastsiacrs

関連する問題