0

私はextjs4で働いています。cellEditing プラグインを使用して gridview を使用しています。正常に動作しています。ただし、フォルダー名を編集した後、グリッド上のフォルダーの新しく更新された名前が表示されません。ストアを更新したくありません。更新された名前をグリッドに表示したいだけです。私は=として試しました

getGridPanelStore = getGridPanel.getStore();
folderId = id;
var newtitle = newUpdatedValue;
getRecord = getGridPanelStore.getById(id);
recordToUpdate = getGridPanelStore.indexOf(getRecord ).set('title',newtitle );

しかし、グリッドに新しい更新された値を設定していません。ストア全体をロードせずに、編集後にグリッドに更新された値を表示する方法。

4

1 に答える 1

0

このコードは実際に機能しますか?

私が理解している限り、 Ext.data.StoreのメソッドindexOfはストア内のレコードのインデックスを整数として取得するため、 set('title', newTitle)を呼び出すと、おそらくタイプUncaught TypeError: Object n hasの例外が発生しますメソッド「設定」なし

さらに、グリッドを更新するためにストア全体をロードする必要はありません。ビューはストアにバインドされているため、ストア フィールドが変更されるたびに自動更新されるため、次のように title プロパティを変更することで機能するはずです。

gridStore = gridPanel.getStore();
record = gridStore.getById(recordId);
record.set('title', newTitle);

値がそのように更新されない場合は、ターゲット列に、その特定のフィールドのビュー出力を何らかの方法で変更できるカスタム レンダラーが関連付けられていないかどうかを確認する必要があります。

于 2013-10-14T09:57:28.670 に答える