2013-12-21 2 views
0

버튼을 사용하여 Kendo Listview를 업데이트하는 데 문제가 있습니다.
SubTasks_Read 함수는 코드 배후에서 호출되고 wcf에서 데이터를 반환하지만 목록 뷰는 바인딩 할 때 변경되지 않습니다. 도와주세요 !!Kendo Listvew cant 업데이트/새로 고침

<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

귀하의 코드는 몇 가지 문제가 있습니다 : 액션 메소드는 아마도 JSON (차이가 있습니다)를 반환하면서

  1. 는 그것은 JSONP 데이터 소스를 생성

    여기 내 코드입니다.

  2. 코드는 필요없는 ListView를 다시 만듭니다.

간단하게 현재 목록보기 데이터 원본의 read 메서드를 호출하는 것이 좋습니다.

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