如何选中每个ListView组中除上次修改的文件以外的所有文件的复选框?
我已经在C#中的多列ListView1中以编程方式创建了500个文件的列表:
File Name , Author , Last Modified Date (Total 3 Columns)
Group 1: (All files with John as Author)
--------
File1.txt, John, 17-01-2019 8:09:21 PM
File4.jpg, John, 20-01-2019 5:04:21 PM
File6.docx, John,25-12-2014 3:02:40 AM
Group 2: (All files with Muller as Author)
--------
File2.txt, Muller, 13-07-2013 2:02:21 AM
File3.jpg, Muller, 10-04-2012 4:04:21 AM
File5.docx, Muller, 15-10-2016 8:04:40 PM
File7.png, Muller, 20-03-2019 4:15:20 PM
File8.xml, Muller, 10-06-2015 8:40:00 AM
Group 3:
...............
and the list goes on...
我想以编程方式检查每个组中除“上次修改的文件”之外的所有文件的复选框。我用不同的代码尝试了好几个小时,没有运气。
非常感谢您的帮助。
foreach (ListViewGroup grp in listFiles.Groups)
{
bool FirstItem = false;
foreach (ListViewItem item in grp.Items)
{
if (!FirstItem)
{
item.Checked = false;
FirstItem = true;
}
else
{
item.Checked = true;
}
}
}
答案 0 :(得分:0)
保留两个变量,last和curr,最初为null。对于每个项目,设置curr = item,如果curr的上次修改日期晚于prev的上次修改日期,或者last为空,则设置last = curr。在此循环结束时,last是具有最后修改日期的项目。进行另一个循环并检查除最后一个以外的所有内容。
您可以单步执行此操作,但我将其保留为练习。