【问题标题】:Kendo UI Grid: How to change cell text based on a bit valueKendo UI Grid:如何根据位值更改单元格文本
【发布时间】:2016-04-07 17:28:17
【问题描述】:

我有一个显示一些记录的 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);
}

我的问题:如果 IsReadOnly 为真,如何将记录的文本设置为“联系 IT”,而当 IsReadOnly 为假时,如何将文本设置为空字符串?

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

【问题讨论】:

  • 你想在哪里显示消息?
  • 在只读列上。它将具有文本“Contact IT”,该文本对于 ReadOnly 具有真值,而对于 ReadOnly @whipdancer 具有假值的记录将具有空白“”文本

标签: jquery html kendo-ui kendo-grid


【解决方案1】:

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

{ //字段信息... 模板:'#: isReadOnly ? "联系它" : "" ' }

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

试一试,然后返回结果

【讨论】:

  • 所以最初我使用以下模板:{ field: "IsReadOnly", title: "Read Only", template: "#= (IsReadOnly) ? 'Read Only(联系 IT 以制作此记录可编辑)' : '' #" } .这向我展示了预期的结果。但是当我试图向网格添加新记录时,它会说“IsReadOnly”未定义。这就是为什么我在 dataBound 事件中设置它的方法。
  • 我明白了……但也有其他选择。在您的 IsReadOnly 字段定义中,您可以添加属性 defaultValue:false (或 true,无论您需要什么),或者在我发布的模板中,添加 (typeof IsReadOnly != "undefined" && IsReadonly == true) ? “联系它”:“”
  • 你试过了吗? (我在上一条评论中的建议)有效吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-10
相关资源
最近更新 更多