Kendo Grid在更新时表现怪异
Kendo Grid Acting Weird on Update
我有一个剑道网格,它的行为很奇怪。我正在尝试选择一行并更新数据源中的值。网格有两行:一个模板,即复选框和数据源中的一个布尔值。
我想做的就是:
单击复选框-更新数据中
IsChecked
的值时来源并将行标记为所选
下面的代码运行良好,但只有在每个复选框至少单击一次之后。
要复制:单击任何复选框,您将看到行中的值得到更新,但复选框未选中。再次单击它,您将看到复选框被选中,行被选中。但从来没有第一次。所有的行也是如此。第二次跑步后,他们表现良好,但一开始就不好了。
这是围绕播放的Telerik小提琴链接
$("#grid").kendoGrid({
columns: [
{
title: "Check",
template: '<input class="checkbox" type="checkbox" />'
},
{ field: "IsChecked" }
],
dataSource: [
{ IsChecked:false},
{ IsChecked:false },
{ IsChecked:false },
{ IsChecked:false }
],
dataBound: function () {
$(".checkbox").bind("change", function (e) {
var row = $(e.target).closest("tr");
row.toggleClass("k-state-selected");
var grid = $("#grid").data("kendoGrid");
var index = $("tr", grid.tbody).index(row);
var data = grid.dataSource.at(index);
data.set("IsChecked", true);
});
}
});
感谢
请尝试以下代码。工作小提琴http://dojo.telerik.com/UNIpU/3
$("#grid").kendoGrid({
columns: [{
title: "Check",
template: '<input class="checkbox" #= IsChecked ? ''checked="checked"'' : "" # type="checkbox" />'
},
{
field: "IsChecked"
}
],
dataSource: [{
IsChecked: false
}, {
IsChecked: false
}, {
IsChecked: false
}, {
IsChecked: false
}],
dataBound: function(e) {
var grid = e.sender;
var data = grid._data;
data.forEach(function(entry) {
if (entry.IsChecked) {
$('tr[data-uid="' + entry.uid + '"]').addClass("k-state-selected");
} else {
$('tr[data-uid="' + entry.uid + '"]').removeClass("k-state-selected");
}
})
}
});
$("#grid .k-grid-content").on("change", "input.checkbox", function(e) {
var grid = $("#grid").data("kendoGrid"),
dataItem = grid.dataItem($(e.target).closest("tr"));
dataItem.set("IsChecked", this.checked);
});
相关文章:
- Javascript循环不会自我更新
- 添加文字和评论功能更新Div
- AngularJS:ng之后,重复$scope值未按预期更新
- 如何通过数组更新角度子范围
- Ajax聊天消息重复而不仅仅是更新
- 通过CSV文件上载更新数据库表
- 平均值:无法将数据更新到数据库
- $rootScope未使用forEach进行更新
- d3基于用户选择动态更新节点
- 有条件更新d3.js力图中节点的最佳方法
- Angular:更新一次性绑定的数据
- Javascript更新孙窗口中的表单元素
- 使用AngularJS中的筛选器更新给定的表
- 无法更新 Kendo-grid 中的值 - 无法读取未执行的“数据”属性
- Kendo Grid在更新时表现怪异
- Slick Grid中的数据更新
- AngularJS/ng-grid - 使用拼接更新数组不会更新 UI
- Ng-grid不更新数据
- 使Sencha Touch列表(或ExtJS Grid)不观察存储和自动更新UI
- 禁用更新Dojo Grid