我正在使用Angular, c#作为后端和Oracle的DB。这个项目是为一家公司设计的,他们在网格中给我留下了120多条记录。在这些网格中,用户可以编辑每条记录,并通过选择"保存"。按钮所有的记录发送(那些已经修改和那些没有修改),这是我需要你的帮助。你怎么知道哪些记录改变了?我的想法是对到达的数据进行复制,最后比较哪些已经更改,并将新列表发送到数据库(仅包含更改的记录)。另一个想法是,每当有人做出改变时,它就会被添加到另一个列表中,但问题是如何识别它何时改变,何时改变并返回到原来的样子……什么好主意吗?
有许多方法可以跟踪哪些元素被修改了:
- 用对象、和"isModified"定义一个接口国旗。当每个项目被修改时,将该标志变为true。
- 保留一个单独的修改对象列表(如您所提到的)
- 保存修改对象的id列表
关于如何确定对象是否已被更改,这将取决于您如何处理编辑。如果你使用的是Angular表单(就像上面提到的@nobalG),那么它会告诉你数据被修改了。
如果没有,同样取决于您如何处理编辑,您可能有其他可以跟踪的changed
事件。
如果没有一些详细说明如何处理编辑的代码,就不可能有更多的细节。