Kendo Listview无法更新/刷新

时间:2013-12-21 09:41:39

标签: listview kendo-ui datasource kendo-asp.net-mvc

我在使用按钮更新Kendo Listview时遇到问题 SubTasks_Read函数在后面的代码中调用并从wcf返回数据,但是当我绑定它时listview不会改变。 请帮忙!!

这是我的代码:

<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
         });

     });
 });

1 个答案:

答案 0 :(得分:0)

您的代码存在一些问题:

  1. 它会创建一个JSONP数据源,而你的action方法可能会返回JSON(存在差异)。
  2. 您的代码会重新创建不需要的ListView。
  3. 我建议只调用当前列表视图数据源的read方法。

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