2012-03-19 16 views
5

私は約100行の滑りグリッドを持っています。 そのデータは5秒後に更新されますが、スクロールがリセットされるたびに更新が妨げられています。 私はdataviewとdataview.refresh()を使用しようとしましたが、今回はグリッドに反映されません。Slickグリッドのデータ更新

私は各リフレッシュにしようとしたものをここで

mapMemoryTableDataView.beginUpdate(); 
mapMemoryTableDataView.setItems(data); 
mapMemoryTableDataView.endUpdate(); 
mapMemoryTableDataView.refresh(); 

if(mapMemoryTableGrid == null) 
    mapMemoryTableGrid = new Slick.Grid("#datatableMap1", mapMemoryTableDataView, columns, options); 

mapMemoryTableGrid.updateRow(1) 
mapMemoryTableGrid.render() 

答えて

3

は、私は私の問題を治すしませんでした次

mapMemoryTableDataView.beginUpdate(); 
    mapMemoryTableDataView.setItems(data); 
    mapMemoryTableDataView.endUpdate(); 
    mapMemoryTableDataView.refresh(); 
    for (var i = 0; i < olist.length; i++) { 
     mapMemoryTableGrid.updateRow(i) 
    } 

無効とリフレッシュと呼ばれています。私の仕事は何

 mapMemoryDataView.beginUpdate(); 
     mapMemoryDataView.setItems(pointsRows, "id"); 
     mapMemoryDataView.endUpdate(); 
     mapMemoryDataView.syncGridSelection(pointsGrid, false); 

     for (var i = 0; i < pointsRows.length; i++) { 
      mapMemoryTableGrid.updateRow(i); 
     } 

     mapMemoryTableGrid.invalidate(); 
     mapMemoryTableGrid.render(); 
5

あなたは間違いなくあなたは、グリッドをリフレッシュするために必要なすべてが使用する、個人的な経験から、invalidate方法

grid.invalidate(); 

を試してみてくださいinvalidate方法、グリッド上で提供される。これにより、すべてが更新され、スクロールが保持されます。

リフレッシュすると、データを置き換えるか、特定の行を更新することを意味しますか?

0

私は次のコードと呼ばれている

events[v_current_row_num].field_id = v_new_field_id; 
    events_grid.updateRowCount(); 
    events_grid.render(); 

私は別のグリッドとビュー名を使用していますが、コンセプトはupdateRowCountとレンダリング機能を呼び出すことを中心に展開しました。

0

だった:

3

だけ

gridItems.invalidate(); 
gridItems.render(); 

無効化を使用します。あなたが望むどの行を検証するためにneadを意味する - この場合には:パラメータなしの行ID =すべての行

関連する問題