【问题标题】:Change kendo grid Datasource use JS更改剑道网格数据源使用JS
【发布时间】:2013-05-22 09:15:23
【问题描述】:

我有剑道网格,我设置数据源使用这个

.DataSource(dataSource => dataSource
                                .Ajax()
                                .PageSize(20)

                                .Read(read => read.Action("GetWorker", "Worker"))

我的页面上有按钮,我想在按下此按钮时更改数据源(使用 java 脚本)。我想做这样的事情

.DataSource(dataSource => dataSource
                                .Ajax()
                                .PageSize(20)

                                .Read(read => read.Action("GetDisabled", "Worker"))

我尝试这样做

var grid = $("grid").data("kenodGrid");
            grid.dataSource().read()

但我不知道在 grid.dataSource() 之后该做什么。如何更改数据源? 谢谢,希望对你有所帮助

【问题讨论】:

    标签: javascript asp.net-mvc kendo-ui kendo-grid kendo-asp.net-mvc


    【解决方案1】:

    我认为你应该首先创建一个新的数据源(远程数据请参阅https://demos.telerik.com/kendo-ui/datasource/remote-data-binding

    var dataSource = new kendo.data.DataSource({
        data: [
            { name: "John Doe", age: 33 }
        ]
    });
    

    然后使用 setDataSource 方法将其附加到网格中 (https://docs.telerik.com/kendo-ui/api/javascript/ui/grid/methods/setdatasource)

    var grid = $("#grid").data("kendoGrid");
    grid.setDataSource(dataSource);
    

    【讨论】:

      【解决方案2】:

      既然你想改变你的阅读动作,那么你就可以这样做。 根据this question,您可以设置 dataSource 读取 url 并使用类似的内容刷新您的网格数据:

      var grid = $("#grid").data("kendoGrid");
      grid.dataSource.transport.options.read.url = "newUrlPath";
      grid.dataSource.read();
      grid.refresh();
      

      如果您实际上并不想更改您的数据源,而是您的数据,并且可能从一些 ajax 请求中获取您的项目列表作为 json,那么我会写下我的做法作为示例,以防有人需要它。

      var jsonData = ... // From some ajax response
      var newKendoDatasource = newKendoDS(jsonData);
      $("#grid").data("kendoGrid").dataSource.data(newKendoDatasource._data);
      

      功能和上面差不多

      function newKendoDS(ndata) {
          var datasource = new kendo.data.DataSource({ data: ndata });
          datasource.read(); // In order to refresh
          return datasource;
      }
      

      【讨论】:

        猜你喜欢
        • 2015-10-19
        • 1970-01-01
        • 2015-04-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-02-06
        相关资源
        最近更新 更多