【问题标题】:Binding a kendo grid with knockout 3.1用淘汰赛 3.1 绑定剑道网格
【发布时间】:2014-08-27 21:28:28
【问题描述】:

我正在使用最新版本的 pf Knockout、Kendo 和 Knockout-Kendo 绑定,但我无法让这个简单的示例绑定。我想将网格绑定到可观察数组。我还想将分页参数绑定到模型中相应的可观察属性。我在这里缺少什么阻止网格正确绑定到数据?如何绑定寻呼机属性?

Here's the JS Fiddle

这是 HTML 代码。

<div><h2>Names List</h2></div>

<div data-bind="kendoGrid: { data: names, rowTemplate: 'rowTmpl', useKOTemplates: true, paging: { pageSize: 3} }"></div>
<div id="pager"></div>

<script id="rowTmpl" type="text/html">
    <tr>
        <td data-bind="text: $data"></td>            
    </tr>
</script>

<script>
    var vm = new ViewModel();
    ko.applyBindings(vm);
</script>

这里是 Javascript

var ViewModel = function () {
    var self = this;
    self.selectedPageSize = ko.observable(3);
    self.selectedPage = ko.observable(1); 
    self.totalPages = ko.observable(); 

    self.names = ko.observableArray(["Fred", "Barney", "Wilma", "Betty", "Tom", "Dick", "Harry"]);
}

【问题讨论】:

  • 这里有一个错字self.names = ko.observableArray(["Fred", "Barney", "Wilma", "Betty", "Tom". "Dick", "Harry"]);. 而不是,"Tom" 之后)
  • 谢谢。我在这里和 jsfiddle 中更正了错字。仍然有同样的问题。
  • 我在你的库中有 404 个在小提琴中(也许它们是私有的?)。我将用来自 cdnjs.com 的链接替换它们并检查
  • 我在您的 ViewModel 函数之后移动了您的 ko.applyBindings。这是你有的吗? fiddle
  • 这绝对是我想去的方向。如何让寻呼工作?感谢您的帮助。

标签: knockout.js kendo-ui


【解决方案1】:

我已将您的ko.applyBindings 放在ViewModel 函数之后。

至于分页,正确的语法是:

<div data-bind="kendoGrid: { data: names, 
                             rowTemplate: 'rowTmpl', 
                             useKOTemplates: true, 
                             dataSource: { pageSize: 3 }, 
                             pageable: true  }"></div>

fiddle

【讨论】:

  • 感谢您让示例代码正常工作。我看到它现在将显示限制为正确的页面大小。但是如何让页面链接显示?
  • 谢谢,我太厚了。我试图使用 paging: true 而不是 pageable。最后一个问题:你知道如何将 pageSize 绑定到我的 viewmodels selectedPageSize observable 吗?
  • @SteveWash 与 pageSize: selectedPageSize() 一起使用,但您没有获得更新(您需要它们吗?)
  • 谢谢。不要以为我会需要它们。
猜你喜欢
  • 1970-01-01
  • 2019-11-19
  • 1970-01-01
  • 1970-01-01
  • 2015-08-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多