1

我有一个使用内存代理的商店。商店通过调用该loadRawData方法获取它的数据。我现在使用 roweditor 和 rowaction 对这些数据进行了一些更改,这导致了脏记录,这似乎是正确的行为,但是这个存储永远无法同步任何数据,那么为什么所有单元格都标有这个红色三角形?

我想我必须在这里监督一些事情。我怎样才能在不丢失修改字段的轨道的情况下保留这些 trinangels?

我正在使用 ExtJS 4.2.1

4

2 回答 2

4

如果您不希望网格上出现红色小三角形,可以在 viewConfig 中设置以下内容。

markDirty: false

http://docs.sencha.com/extjs/4.2.1/#!/api/Ext.view.Table-cfg-markDirty

于 2013-07-15T13:27:06.620 回答
2

由于 LUKE 已经回答了这个问题,我将添加一些关于记录的脏标志的附加信息


注意:该dirty 标志被标记为只读,这是有原因的。

这里至少有一个原因:

时间set()完成记录已经将更改发布到存储,同时触发update修改数据的事件。

所以改变dirty标志不会有任何影响,因为它发生在这一切之后!所以记录将被标记为脏,例如网格已经用红色三角形标记了所有更改的列。


为了防止记录设置它的dirty标志,请使用beginEdit()/endEdit()块并且不要使用 set 因为set()总是会设置脏标志。

这是一个反转布尔值并且影响dirty标志的示例

record.beginEdit();
record.data.active = !rec.data.active;
record.endEdit();
于 2013-07-16T07:13:44.540 回答