2013-12-21 87 views
0

我在使用按鈕更新Kendo Listview時遇到問題。
SubTasks_Read函數在後面的代碼中調用,並從wcf返回數據,但是當我綁定它時,listview不會改變。 請幫忙!!Kendo Listvew不能更新/刷新

這裏是我的代碼:

<div class="subtasks-div"> 
    <div class="section-header"> 
     <p>Subtasks</p> 
    </div> 
    @(Html.Kendo().ListView<Origin.Web.AdminProxy.SubTask>(Model.SubTaskList) 
     .Name("subtask-listView") 
     .TagName("div") 
     .ClientTemplateId("subtask-template") 
     .DataSource(dataSource => 
     { 
      dataSource.Read(read => read.Action("SubTasks_Read", "WorkFlow")); 
      dataSource.PageSize(15); 
     }) 
     .Selectable(selectable => selectable.Mode(ListViewSelectionMode.Single)) 
    ) 
</div> 

<script> 
$(function() { 
    $("#refresh-button") 
    .button() 
    .click(function (event) { 

     var subTaskDataSource = new kendo.data.DataSource({ 
      transport: { 
       read: { 
        type: "GET", 
        url: "../WorkFlow/SubTasks_Read/?taskId=2", 
        dataType: "jsonp" 
       }, 

      }, 

      schema: { 
       model: { 
        fields: { 
         subTaskId: { type: "number" }, 
         taskId: { type: "number" }, 
         subTaskName: { type: "string" }, 
         subTaskOrder: { type: "number" } 
        } 
       } 
      } 
     }); 


     $("#subtask-listView").kendoListView({ 
      dataSource: subTaskDataSource 
     }); 

    }); 
}); 

回答

0

您的代碼有幾個問題:

  1. 它創建了一個JSONP數據源,而你的操作方法可能返回JSON(是有區別的)。
  2. 您的代碼重新創建不需要的ListView。

我建議只需調用當前列表視圖數據源的read方法。

$("#refresh-button") 
.button() 
.click(function (event) { 
    $("#subtask-listView").data("kendoListView").dataSource.read(); 
});