2016-11-03 11 views
0

私は剣道のグリッドでバッチ編集を作成しようとしています。私は手動でグリッドにデータを追加するので、データソースのトランスポートメカニズムを使用せず、むしろデータソース上で.data()を呼び出すだけです。剣道UIデータソースtoJSONが値の後ろにあります

セルを編集すると、変更されたデータ項目を渡すセーブイベントが正しく発生しますが、モデルの生データを取得するために.toJSON()を呼び出すと、.toJSON()モデルそのものの出力とは異なると思われる。あたかもセルを編集し直すと前の値になってしまうので、.toJSON()が繰り返し実行されているかのようです。

それの例ここで見ることができます:http://dojo.telerik.com/ujiSu/5

、コンソールには、モデルの出力とmodel.toJSON(の出力を見ることができ、製品名を編集してください)

私は.toJSON()の前にデータソースで.read()を呼び出そうとしましたが、何らかの理由でデータソースが空になってしまいました。

モデルデータの汚れたプロパティを調べて、ダーティーな状態を変更するだけでなく、結果も変わらないようにしました。

私の目標は、グリッドとデータソースに表示される生の現在のデータを取得することです。

これに関するお手伝いがあります。

答えて

0

グリッドの保存イベントでは、モデルはまだ更新されていません。 は、保存イベントの後に、グリッドによって更新されます(つまり、グリッドのデータソースにプッシュされます)となります。これは、saveイベントがe.preventDefault()を介して取消可能であるためです。 http://docs.telerik.com/kendo-ui/api/javascript/ui/grid#events-save

ので、e.modelデータソースアイテムとe.valuesの現在の状態がe.values内の値は、データソースのモデルに押し込まれた時点で、保存が完了するまで、更新のフィールドが含まれて含まれています。

グリッド保存イベントでe.valuesとe.modelを組み合わせる必要があるか、代わりにDataSource変更イベントhttp://docs.telerik.com/kendo-ui/api/javascript/data/datasource#events-changeを参照したい場合があります。グリッド保存イベント後に発生するアクションは "itemchange"です。 (あなたがそれをキャンセルしていない限り)。

+0

ありがとうございました。私はグリッドセーブイベントと一緒に値のプロパティをチェックしていました。 – mda144

関連する問題