2016-08-23 5 views
1

私は、バックエンドからのデータを表示しているグリッドを持っています。データ形式は、このR値が、私は私のコードからR値を設定していますので、来ていないでは表示方法ExtJSグリッドで変更された値

DESC:"H1", 
DISP:"", 
FID:474747, 
VALUE : 0, 
R:"" 

のようなものです。これにより

var record = gridEl.getSelectionModel().getSelections(); 
for (var i = 0; i < record.length; i++) 
    record[i].set("R", RDetail); // RDetail is some value. 

は、私はそれがUIに表示されるチェックインすると、デバッガでは、グリッドストアにRデータを追加するだけでなく、することができています。しかし、グリッドを閉じてリフレッシュすると、Rの値がUIに表示されません。

私はまた、これらの

store.reload(); 
store.commitChange(); 
grid.reconfigure(store); 

を試してみました。しかし、いくつかの問題を持って表示しています。

答えて

0

これを行うには2つの方法があります。モデル定義で

  1. 、あなたがRの列を定義するとき、あなたは、データがバックエンドからロードされたときにその値を移入し、「変換」機能を追加することができます。 http://docs.sencha.com/extjs/6.0.2-classic/Ext.data.field.Field.html#cfg-convert

  2. グリッド列定義では、その値を計算するレンダラー関数を追加できます。 http://docs.sencha.com/extjs/6.0.2-classic/Ext.grid.column.Column.html#cfg-renderer

1

あなたは「R」はdataIndexとして割り当てられたパラメータの列に対してレンダラー機能を使用することができます。この関数は店舗の各​​レコードに対して呼び出されるので、ブランクRの代替値を表示するロジックをここに書くことができます。これにより、実際の店舗レコードで変更されずにUIの変更された値のみが表示されます。

関連する問題