问题描述
在Slickgrid单元格中,我单击并输入一个值。一旦我使用鼠标移出该单元格,输入的值就会消失。但是,如果我在单元格中输入值并跳出,则该值将保留在单元格中。我想知道是否应该手动处理。
我正在呼叫的OnClick事件
grid.updateRow(grid.getDataItem(args.row));
grid.invalidate();
grid.render();
谢谢, 阿莎
解决方法
您做错了事,updateRow()
参数是网格中的行索引,但您传递的是项目对象,因此即使我没记错,updateRow
也只能正常工作用于重新呈现或刷新特定的行索引,它不是用于更新数据,而是用于呈现目的(也许命名令人困惑)。
我个人仅使用SlickGrid DataView,并且用于更新项目的函数有所不同,您可以在其他堆栈溢出答案Change slickgrid cell data after edit
中了解如何实现如果您使用的是网格对象(如我在前面引用的另一个SO答案中所写),那么它将是
grid.invalidateRow(args.row);
data[args.row][grid.getColumns()[args.cell].field] = a.msg;
grid.render();
我个人总是使用SlickGrid DataView,因为它更加用户友好,并且具有很多好处,例如数据分组和许多其他功能。再次看看我在上一段中写的另一个SO答案,那是正确的方法