使用保存按钮更新Slickgrid dataview行?

时间:2018-03-02 14:07:18

标签: javascript slickgrid

我有一个包含多个列的数据视图,其中2个是可编辑的,传入的JSON数据绑定到此。我最后还有一个附加列,带有保存按钮。

如果编辑了这两个字段并单击了保存按钮,我想获取此行中的值,包括这些已编辑字段中的2个新值。目前,当我单击“保存”按钮时,该行仅包含原始值,而不是更新的值。

我想我错过了slickgrids的基本功能,我是否需要首先保存此行以使新值可以访问?我已经尝试了github文档中的一些内置方法,但无法使其工作。

E.g。 单击单元格时:

if (col.id == 'saved'){console.log(row)}

比较旧行和新行以查看是否存在差异的最终目标,有人可以解释一下我需要在这做什么吗?感谢

1 个答案:

答案 0 :(得分:0)

值由单个单元格编辑器<StackPanel Grid.Row="7"> <Button Command="{Binding EditCommand}" Content="Edit coffee"/> </StackPanel> 方法保存到行中,例如:

applyValue

诀窍是编辑器只在退出时提交值。这意味着如果您点击“保存”即可。如果按钮位于不同的列中,则可能无法触发编辑器,并且可能无法保存上一个仍处于活动状态的编辑器中的值(如果触发了新的编辑器,则会提交任何活动的编辑器值。) 在这种情况下,请致电

this.applyValue = function (item, state) {
  item[args.column.field] = state;
};

立即在保存功能中。

就旧行和新行而言,您可能需要在首次编辑时以某种方式保存行的副本,以便以后进行比较。真正的客户端多行编辑与行删除和添加是一个复杂的野兽,并不容易驯服。如果可以的话,你最好使用图书馆。