如何根据 Webix 数据表中的条件禁用一行中的几列

How to disable few columns of a row based on a condition in Webix datatable

我有一个 webix 数据表,列名为 'No.'、'Name'、'Action'、'Phone'、'Comments'。以下是列的类型:

  1. 'No.' 和 'Name' 列始终是只读的。
  2. 其余三个 'Action'、'Phone' 和 'Comments' 是可编辑的,而且 'Action' 和 'Phone' 列下的单元格有下拉菜单。

要求: 可以说,对于 'Name' 字段中的特定值(例如 'Mark'),我想禁用该特定行的所有可编辑字段。该行应呈现为禁用(只读)或在编辑可编辑字段之前将变为禁用(只读)。所有其他行都应该有它们通常的行为。

我已尝试在 https://webix.com/snippet/3bafd99c

处通过 onBeforeEditStart 事件实现此目的

但是我在实施它时遇到了问题。任何帮助都会很棒。

谢谢。

您可以使用如下代码

onBeforeEditStart:function(id){
     return this.getItem(id).id1 !== "Mark";
}

https://webix.com/snippet/306471fc

getItem 调用returns 当前行,接下来检查将名称列的值与对照列进行比较。 (在列的配置中使用 id:"name" 将使上面的行更具可读性)