有条件地更改kendo网格中的列数据

时间:2017-08-18 07:09:33

标签: jquery kendo-ui kendo-grid

我试图有条件地更改kendo网格中某些列的值。由于网格ID已绑定到某些数据但需要进行一些修改 已绑定的数据。

我使用了一些我从stackoverflow获得的示例代码,但没有一个反映。网格数据没有变化

第一路

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

            var items = grid.dataSource.data();
            for (var i = 0; i < items.length; i++) {
                items[i]["MatchCount"] = "4";
            }

第二路尝试

var dataItem = $("#grid").data("kendoGrid").dataSource.data()[0];
        dataItem.set("MatchCount", "CCC");

第三种方式

  var dataItem = $("#grid").data("kendoGrid").dataSource.data()[0];
     dataItem.set("MatchCount", "50");

网格绑定的方式如下:

  $("#grid").kendoGrid({
        dataSource: DataSource,

        columns:
        [
            { field: "RowId", title: "RowId", hidden: true },
            {
                field: "LastName",
                title: "Last Name",
                width: 150,
                editable: false,
                headerTemplate: createHeaderTemplate("Last Name")

            },
           {
                field: "MatchCount",
                width: 120,
                editable: false,
                template: "#if(MatchCount == 0){#<span>#=MatchCount#</span>#}else{#<a href='javascript:void(0)' onclick='ShowMatches(&quot;#=LastName#&quot;,&quot;#=FirstName#&quot;,${MatchCount},&quot;#=MatchIds#&quot;);' style='margin-left:50px' >#=MatchCount#</a>#}#"
            }

        ],
        edit: function (e) {
            //e.container.find("input[name='Name']").each(function () { $(this).attr("disabled", "disabled") });       
        },
        editable: false
    });

1 个答案:

答案 0 :(得分:0)

你在尝试2和3中做得很好。也许你需要运行refresh()方法:

dataItem.set("MatchCount", "50");
grid.refresh();

Demo