Kendo UI Grid:如何根据位值更改单元格文本

时间:2016-04-07 17:28:17

标签: jquery html kendo-ui kendo-grid

我有一个Kendo Grid,它显示一些记录,用户可以编辑记录。如果记录设置为IsReadOnly,则禁用该行控件,这意味着用户只能读取它而不能编辑。 以下是不同的网格列。

  columns: [
                { field: "Id", hidden: true },
                { field: "DisplayValue", title: "Description" },
                { field: "DisplayOrder", hidden: true },
                { field: "IsActive", hidden: true },
                { field: "IsReadOnly", title: "Read Only"},
                { template: kendo.template($("#activate-command-template").html()), width: 93 }
            ]

如果IsReadOnly成功,当我想显示一条消息,说明"联系IT以使该行可编辑"如果它是假的,那么我会显示一个空字符串。我如何在dataBound事件中实现这一点? 下面是我的dataBound事件:

if (adminView.viewModel.get("selectedControllerItemName") == "IntakeReferralMethod") {
                        var gridData = grid.dataSource.view();
                        for (var i = 0; i < gridData.length; i++) {
                            var currentUid = gridData[i].uid;
                            if (gridData[i].IsReadOnly == true) {
                                var currenRow = grid.table.find("tr[data-uid='" + currentUid + "']");
                                var activateButton = $(currenRow).find(".k-button").attr("disabled", true);
}

我的问题:如何将记录的文字设置为&#34;联系IT&#34;如果IsReadOnly为true并且在IsReadOnly为false时将文本设置为空字符串?

如果需要澄清,请告诉我。我一直在搜索几个小时,找不到任何可以帮助我理解当某个位字段为真或假时如何操作网格上的文本。

1 个答案:

答案 0 :(得分:0)

在您希望显示“Contact IT”文本的每个字段中,您可以添加模板。有点像你在最后一个字段中所拥有的,但你可以将模板绑定到行中的数据并放置一个条件来检查数据并显示一个字符串或另一个字符串。听起来比这复杂得多。我不是在电脑前,而是从记忆中得到一个例子:

{ //字段信息... 模板:'#:isReadOnly? “联系IT”:“”' }

#:是将模板绑定到当前行的数据。问号和冒号形成内联if-then-else语句。 isReadOnly是您行中的一个字段。

试一试并回复结果