使用jqGrid + Asp.Net MVC和事务进行Master-Detail

时间:2010-01-05 14:55:06

标签: asp.net-mvc jqgrid transactions master-detail

我来自德尔福世界,我想制作一个主/细节界面,如订单和产品 我已经采取措施使用字段和jqGrid显示数据。我想知道的是如何添加行,编辑或删除它们,但是,当用户确认主数据中的更改时,只需在数据库中进行更改。
在delphi上,我将使用一个TClientDataSet,其中包含所有内存更改,并在确认后将在事务中执行它们,如: BEGIN
Master.Post
FOREACH Line IN Lines Line.Post
COMMIT

所以在简历中,我不知道如何在内存中保留网格中的行数以及如何将它们发送回服务器以进行提交。
任何帮助将不胜感激。提前致谢。

1 个答案:

答案 0 :(得分:0)

您需要跟踪客户端的更改,可能使用网格中的某些隐藏字段和/或表单字段。当删除一行(以前存在于数据库中)时,您需要将其id添加到包含要删除的行的字段中。添加的行需要包含包含其数据的关联表单字段。提交主服务器后,您将整个字段集合滚动到POST中并将其发送回服务器。

使用LINQ to SQL,您可以创建数据上下文,获取主对象,然后删除标记的相关对象(来自ID的隐藏字段)并创建/添加不存在的新相关对象在从适当的表单字段中获取值之前。然后你做一个SubmitChanges,所有的陈述都会在一次交易中执行。