从对象列表更改的行?(Changed rows from List of objects?)

2019-10-28 22:50发布

我有一个形式,其中

  Table SelectedItems                Table AvailableItems
 RecordID  CheckBoxID                CheckBoxID     Description
    1           1                         1           'Tomatoes'
    1           2                         2           'Potatoes'   
    1           4                         3           'Mangoes' 
    2           1                         4           'Apples'  
    2           2     
  1. 现在我有编辑SelectedItems为1的recordId
  2. 为此目的,我做了一个复选框列表,并与AvaialbeItems填充它
  3. 然后,我和循环检查SelectedItems为1的recordId
  4. 用户选择一些新行从可用列表(连同旧的,他可能会取消一些为好)

现在我想更新所选记录,问题是我想知道的唯一的新记录插入。

这两个表被返回的业务对象名单<>,如何比较列表,并只提取改变/新行?

请咨询我。 我使用的2005 VSS web表单。

Answer 1:

当您选择结果,你可以更新业务对象(S)和脏呢? 我的意思是创建一个类变量,将作为您可以检查,看它是否被更改或新的标志。 选择新的行(或大),我觉得火,你可以用它来修改所选行的业务对象的事件。

然后,当你通过你的列表,你只需要检查产生变化/新状态的业务对象标志。



Answer 2:

如果系统已经生产服务器和稳定运行上,请忽略我的答案。 如果它仍在规划/设计/编程阶段,我觉得可能有轻微DB变化将让一切都更容易。

 Table SelectedItems 
RecordID  CheckBoxID  IsSelected
    1           1        true
    1           2        true
    1           3        false
    1           4        true

也就是说,在一定的recordId和CheckBoxID,你并不需要查询表,以查找是否有相应的记录(这意味着它的选择)。 在新的设计中,总有这样的记录,具有IsSelected状态。

同时,这样的设计也是在您的网页很容易maintanance。 你改变正是IsSelected值一定行,你不需要关心“哦,我需要删除一行或添加一个?” “是该行的脏的数据?” ......事情变得更加容易。



文章来源: Changed rows from List of objects?