【发布时间】:2012-03-10 01:31:49
【问题描述】:
我有一个ListView 来显示一些图像(使用ImageList)。到目前为止一切正常。我可以轻松地通过Text 属性对项目进行排序。但我也希望能够按它们的创建日期(ASC 或 DESC)对它们进行排序。
项目是这样创建的:
Item.Text = file name
item.Tag = file path
我正在尝试像这样对日期进行排序,但对字典进行排序没有成功,而且我不知道如何将字典项重新转换为 listview:
private void menuViewSortDate_Click(object sender, EventArgs e)
{
var files = new Dictionary<ListViewItem, DateTime>();
foreach(ListViewItem item in listViewLoadedImages.Items)
{
files.Add(item, File.GetCreationTime(item.Tag.ToString()));
}
listViewLoadedImages.BeginUpdate();
listViewLoadedImages.Items.Clear();
// how to sort dictionary by DateTime ??
// like files.Sort(bydate);
//How can refer to key values (listviewitems) in dictionary
listViewLoadedImages.Items.AddRange((ListViewItem)files.Keys);
listViewLoadedImages.EndUpdate();
}
【问题讨论】:
标签: c# winforms listview sorting dictionary