我有一个与数据源绑定的列表框。在这个列表框中,我选择了多项目的项目。而且我持有我从列表框中选择的项目,如下面的代码。
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”项?我一次又一次地追加列表,我也希望用新选择的列表框替换最后一个列表。
答案 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)
嗯,这有很多解决方案。只需声明一个包含原始列表最后一个元素的变量。 (如果数据是唯一的)如果它不只是存储最后一个元素的索引。