2016-03-22 13 views
0

剣道グリッドを使うのはかなり新しいです。別のセルに入った後に剣道グリッドセルを自動更新する

これまでのところ、私はいくつかのことをすることができたし、すべての私の問題の回避策を得ました。

私は2列のグリッドを持っています。 1つの列は、ユーザーが入力しなければならない製品コードであり、もう1つは、製品コードを入力した後に自動的に入力する製品数量です。これは変更イベントで行う必要があります。

商品の数量はサービスにより得られます。

var dataSource = new kendo.data.DataSource({ 
    batch: false, 
    autoSync: false, 
    data: [], 
    pageSize: 20, 
    schema: { 
     model: { 
      id: "ProductID", 
      fields: { 
       ProductCode: { type: "string", validation: { required: true } }, 
       ProductQuantity: { type: "number", validation: { required: false, editable: false } } 
      } 
     } 
    }, 
    edit: function (e) { 
     if (e.model.isNew() == false) { 
      $('[name="ProductQuantity"]').attr("readonly", true); 
     } 
    }, 
    change: function (e) { 
     if (e.action == "itemchange") { 
      debugger; 
      apModel.getProductQuantities(e.items[0].ProductCode).ifFetched().then(function (data) { 
       var data = JSON.parse(data.Response); 
      }) 
      //how to access next cell??? 

      $("#ap-grid").data("kendoGrid").saveRow(); 

     } 
    } 
}); 

$("#ap-grid").kendoGrid({ 
    dataSource: dataSource, 
    pageable: false, 
    height: 550, 
    toolbar: ["create"], 
    columns: [ 
     { field: "ProductCode", title: "Product Code" }, 
     { field: "ProductQuantity", title: "Quantity" }, 
           { command: ["edit", "destroy"], title: " ", width: "250px" }], 
    editable: "inline", 
}); 

私はそれにデータを追加するために次のセルにアクセスする方法を方法を見つけることができません。

は、これまでのところ私は、次のコードを持っています。

私にヒントを教えてもらえますか?データソースが正しくバインドする場合は、事前に

おかげで、

アンドレ

答えて

0

あなたはOnChangeイベントハンドラのグリッドセルにe.items[0].ProductQuantityを設定し、自動的に値を更新する必要があります。 kendo docsによれば

e.items - 影響を受けた(又は読み出し)されたデータ項目のアレイ。

つまり、データソースの元の行を参照します。

+0

また、 'autoSync:false'を設定しているため、このアップデートの後に' datasource.sync() 'を呼び出すべきでしょうか? –

関連する問題