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

我有一个显示一些记录的Kendo网格,用户可以编辑记录。 如果将记录设置为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);
}

我的问题:如果IsReadOnly为true,如何将记录文本设置为“联系IT”,并在IsReadOnly为false时将文本设置为空字符串?

请让我知道是否需要澄清。 我一直在寻找几个小时,找不到任何能够帮助我理解如何在某些位域为真或假时处理网格上的文本的任何内容。


在您希望显示“联系IT”文本的每个字段中,都可以添加一个模板。 有点像您在最后一个字段中所拥有的内容,但您可以将模板绑定到行中的数据,并将检查数据并显示一个字符串或另一个字符串的条件。 这听起来比现在更复杂。 我不是在电脑前,但从内存来看,这里举一个例子:

{// field info ... template:'#:isReadOnly? “联系IT”:“”'}

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

试试看,并将结果发回

链接地址: http://www.djcxy.com/p/70437.html

上一篇: Kendo UI Grid: How to change cell text based on a bit value

下一篇: Preserving Kendo Grid state