2011-08-04 10 views
3

私は、ロード時に空のグリッドを持っています。空のストアを持つExtJSグリッドは、追加/挿入時に最新のレコードしか表示されません。

ストアに(config)で始まるデータがいくつかある場合、新しいレコードが追加され、グリッドに問題なく表示されます。

ただし、最初のデータがないグリッドに新しいレコードを追加すると、ストアカウントに追加が反映されますが、グリッドには最後に追加された最新のレコードしか表示されません。

どこから見ても大丈夫です。ありがとうございました。ここで

はコードです:

var srGrid = new Ext.grid.GridPanel({ 
    id: 'srGrid', 
    title: 'Scheduled For', 
    x: 230, 
    y: 40, 
    width: 200, 
    store: new Ext.data.ArrayStore({ 
     fields: ['index', 'date'], 
     idIndex: 0, 
     autoLoad: false 
    }), 
    columns: [ 
     {dataIndex: 'date', id: 'srCol', width: 196, menuDisabled: true} 
    ], 
    listeners: { 
     beforeshow: function() { 
      //this.store.removeAll(); 
     } 
    } 
}); 

var srCustomContentPanel = new Ext.Panel({ 
    id: 'srCustomScheduleContent', 
    border: false, 
    layout: 'absolute', 
    items: [ 
     srGrid, 
     { 
      xtype: 'button', 
      id: 'addButton', 
      text: 'Add to Scheduled', 
      handler: function() { 
       var idx = srGrid.store.getCount()+1; 
       var newData = { 
        index: idx, 
        date: 'tomorrow'+idx 
       }; 
       //var recId = 3; // provide unique id 
       var p = new srGrid.store.recordType(newData, idx); // create new record 
       console.log(p); 
       srGrid.store.insert(0, p); 
      }, 
      x: 10, 
      y: 250 
     }, 
    ]} 
); 

答えて

0

あなたのコードは、私の作品:http://jsfiddle.net/sadkinson/rF5TQ/24/

私はjsfiddleでレンダリングするために、わずかにそれを修正しました。おそらく、使用しているabsoluteのレイアウトと関係があります。 FireBugを使用してDOMをチェックし、実際に追加される行が実際に表示されているかどうかを確認できますが、表示されないだけです。

0

グリッドの高さについては忘れていたことがわかりました。

autoHeight:true fixed it。

+1

これはあなたの質問の編集です –

関連する問題