好的,让我更清楚地解释一下我的情景:
当一个单元格被编辑时,它变得“脏”,我通过javascript将一个CSS类添加到单元格中以某种方式设置它。
然后,如果用户对网格进行排序,则样式将丢失(我相信因为所有行都被重新创建),我需要一种方法将样式恢复到排序后的相应单元格/行。
我试图做的是在data []中添加一个名为'status'的条目,在onCellChange I中循环传递data []并将args.item.Id与data []中的相应条目相匹配。
grid.onCellChange.subscribe(function (e, args) {
var done = false;
for (var i = 0; i < data.length && !done; i++) {
if (data[i].id == args.item.id) {
data[i].status = "dirty";
done = true;
}
}
}
但是,onSort我不确定如何将排序的行与数据数组匹配。 (因为我没有args.item)我试图做选择器语句: $(“滑头行”) 重新设置正确的单元格,但我无法将行与数据[]中的条目相关联。
答案 0 :(得分:3)
1)无需在onCellChange处理程序中搜索该项目 - 它位于“args.item”。
2)对“数据”数组进行排序不会消除对#1中项目的更改。
3)你提到动态造型细胞。我看不出那个代码。如果您的自定义格式化程序是查看“item.status”的代码段,并且如果它是脏的则呈现不同的代码,那么您不必执行任何额外操作。对数据进行排序并告诉网格重新渲染将保留“脏”单元格样式。