2012-11-08 158 views
4

我正在使用Kendo UI Grid。這是我的代碼:Kendo UI Grid,可編輯模式不適用於本地數據

<body> 
<div id="myGrid"></div> 

<script type="text/javascript"> 
$(function(){ 
    var rows = [ 
    {name: "name001", id: "001", group: "G1"}, 
    {name: "name002", id: "002", group: "G1"}, 
    {name: "name003", id: "003", group: "G2"}, 
    {name: "name004", id: "004", group: "G2"}, 
    ]; 

    var myDataSource = 
     new kendo.data.DataSource({ 
      data: rows, 
      pageSize: 3, 
     }); 

    myDataSource.read(); 
    $("#myGrid").kendoGrid({ 
     dataSource: myDataSource, 
     columns: [ 
      {field:"name", title:"The Name"}, 
      {field:"id", title:"The Id"}, 
      {field:"group"}, 
      {command:["edit", "destroy"]} 
      ], 
     scrollable: false, 
     pageable: true, 
     sortable: true, 
     groupable: true, 
     filterable: true, 
     editable: "inline" 
    }); 

}); 
</Script> 
</body> 

但編輯不起作用。在瀏覽器中打開這個網格給了我一個看起來與預期一樣的網格,帶有編輯和刪除按鈕。我可以用刪除按鈕刪除行。但單擊編輯會將行更改爲編輯模式(在單元格中有輸入字段),但更改一個值並按下更新按鈕不會執行任何操作。該行保持編輯模式,更新按鈕不會切換回「編輯」,因爲它應該。 你能告訴我什麼是缺失?我需要以某種方式配置我的數據源嗎?

+0

我檢查了你的代碼,因爲它工作得很好,不需要添加一行代碼,我已經在Windows IE7和Mac OS(Firefox,Safari和Chrome)中測試過它。請檢查您使用的是最新版本的KendoUI。請檢查此[鏈接](http://stackoverflow.com/questions/8510765/is-it-possible-to-have-full-crud-functions-in-kendo-grid-with-local-data?rq= 1)StackOverflow中的其他問題,並轉到John Bristowe的答案(他爲KendoUI工作!)。 – OnaBai

+0

我不認爲這與你的問題有實際相關性,但腳本結束標記有一個大寫'S'。我試過編輯你的問題,但因爲改變只是一個我不能的角色。 – OnaBai

回答

8

是的,你錯過了配置你的網格的dataSource知道如何更新記錄。我假設你只想在本地(在客戶端)編輯記錄 - 而不必將它們發送到服務器。要真正關閉網格並應用更改,可以使用網格的保存事件和刷新方法。

這裏是一個jsbin與你的情況。

如果要將這些更改保存到服務器,建議您以demos開頭。

+0

偉大的作品!謝謝 –

+0

你知道如何爲MVC做這個嗎? – TruthOf42