如何识别列表中的附加列表

时间:2013-12-07 09:01:36

标签: c# listbox

我有一个与数据源绑定的列表框。在这个列表框中,我选择了多项目的项目。而且我持有我从列表框中选择的项目,如下面的代码。

selectedreportRow = lstSelectRows.SelectedItems.Cast<FRReportRow>().ToList(); 

现在我在“selectedreportRow”列表中添加一个新的列表框选择,如下面的代码所示。

 if (selectedreportRow.Count > 0)
 {
   appendReportRow=lstSelectRows.SelectedItems.Cast<FRReportRow>().ToList();
   selectedreportRow.AddRange(appendReportRow);
 }

如果我举一个上面描述的例子就是这样的。

第一个列表45, 234, 4634, 2342, 23421, 534, 76

带有附加列表的

列表45, 234, 4634, 2342, 23421, 534, 76 , 656, 86,454

如何识别我的第一个列表中的第二个列表,直到“76”项?我一次又一次地追加列表,我也希望用新选择的列表框替换最后一个列表。

2 个答案:

答案 0 :(得分:1)

您可以将添加的项目存储在单独的列表中。在添加新项目之前,您可以删除最后添加的项目。

appendReportRow=lstSelectRows.SelectedItems.Cast<FRReportRow>().ToList();

lastAddedItems.ForEach(a => selectedreportRow.Remove(a));
lastAddedItems.Clear();
lastAddedItems.AddRange(appendReportRow);

selectedreportRow.AddRange(appendReportRow);

您需要提前实例化lastAddedItems,最初应该为空。

答案 1 :(得分:0)

嗯,这有很多解决方案。只需声明一个包含原始列表最后一个元素的变量。 (如果数据是唯一的)如果它不只是存储最后一个元素的索引。