/// <summary> /// GFS系统 /// </summary> /// <param name="dataList"></param> /// <param name="lstData"></param> private static void SetGridFileToListView(List <BsonDocument> dataList, ListView lstData) { lstData.Clear(); if (!SystemManager.IsUseDefaultLanguage) { lstData.Columns.Add(SystemManager.MStringResource.GetText(StringResource.TextType.GFS_filename)); lstData.Columns.Add(SystemManager.MStringResource.GetText(StringResource.TextType.GFS_length)); lstData.Columns.Add(SystemManager.MStringResource.GetText(StringResource.TextType.GFS_chunkSize)); lstData.Columns.Add(SystemManager.MStringResource.GetText(StringResource.TextType.GFS_uploadDate)); lstData.Columns.Add(SystemManager.MStringResource.GetText(StringResource.TextType.GFS_md5)); if (!SystemManager.MonoMode) { lstData.Columns.Add("ContentType"); } } else { lstData.Columns.Add("filename"); lstData.Columns.Add("length"); lstData.Columns.Add("chunkSize"); lstData.Columns.Add("uploadDate"); lstData.Columns.Add("MD5"); if (!SystemManager.MonoMode) { lstData.Columns.Add("ContentType"); } } lstData.SmallImageList = GetSystemIcon.IconImagelist; lstData.LargeImageList = GetSystemIcon.IconImagelist; lstData.TileSize = new Size(200, 100); foreach (BsonDocument docFile in dataList) { String Filename = docFile.GetValue("filename").ToString(); var lstItem = new ListViewItem(); lstItem.ImageIndex = GetSystemIcon.GetIconIndexByFileName(Filename, false); lstItem.Text = Filename; lstItem.ToolTipText = Filename; lstItem.SubItems.Add(GetSize(docFile.GetValue("length"))); lstItem.SubItems.Add(GetSize(docFile.GetValue("chunkSize"))); lstItem.SubItems.Add(ConvertToString(docFile.GetValue("uploadDate"))); lstItem.SubItems.Add(ConvertToString(docFile.GetValue("md5"))); if (!SystemManager.MonoMode) { lstItem.SubItems.Add(GetSystemIcon.GetContentType(Filename)); } lstData.Items.Add(lstItem); } lstData.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent); // 用新的排序方法对ListView排序 var _lvwGFSColumnSorter = new lvwColumnSorter(); lstData.ListViewItemSorter = _lvwGFSColumnSorter; lstData.ColumnClick += (sender, e) => { switch (e.Column) { case 1: case 2: _lvwGFSColumnSorter.CompareMethod = lvwColumnSorter.SortMethod.SizeCompare; break; default: _lvwGFSColumnSorter.CompareMethod = lvwColumnSorter.SortMethod.StringCompare; break; } // 检查点击的列是不是现在的排序列. if (e.Column == _lvwGFSColumnSorter.SortColumn) { // 重新设置此列的排序方法. _lvwGFSColumnSorter.Order = _lvwGFSColumnSorter.Order == SortOrder.Ascending ? SortOrder.Descending : SortOrder.Ascending; } else { // 设置排序列,默认为正向排序 _lvwGFSColumnSorter.SortColumn = e.Column; _lvwGFSColumnSorter.Order = SortOrder.Ascending; } lstData.Sort(); }; }
/// <summary> /// GFS系统 /// </summary> /// <param name="dataList"></param> /// <param name="lstData"></param> private static void SetGridFileToListView(List<BsonDocument> dataList, ListView lstData) { lstData.Clear(); if (!SystemManager.IsUseDefaultLanguage) { lstData.Columns.Add(SystemManager.MStringResource.GetText(StringResource.TextType.GFS_filename)); lstData.Columns.Add(SystemManager.MStringResource.GetText(StringResource.TextType.GFS_length)); lstData.Columns.Add(SystemManager.MStringResource.GetText(StringResource.TextType.GFS_chunkSize)); lstData.Columns.Add(SystemManager.MStringResource.GetText(StringResource.TextType.GFS_uploadDate)); lstData.Columns.Add(SystemManager.MStringResource.GetText(StringResource.TextType.GFS_md5)); if (!SystemManager.MonoMode) { lstData.Columns.Add("ContentType"); } } else { lstData.Columns.Add("filename"); lstData.Columns.Add("length"); lstData.Columns.Add("chunkSize"); lstData.Columns.Add("uploadDate"); lstData.Columns.Add("MD5"); if (!SystemManager.MonoMode) { lstData.Columns.Add("ContentType"); } } lstData.SmallImageList = GetSystemIcon.IconImagelist; lstData.LargeImageList = GetSystemIcon.IconImagelist; lstData.TileSize = new Size(200, 100); foreach (BsonDocument docFile in dataList) { String Filename = docFile.GetValue("filename").ToString(); var lstItem = new ListViewItem(); lstItem.ImageIndex = GetSystemIcon.GetIconIndexByFileName(Filename, false); lstItem.Text = Filename; lstItem.ToolTipText = Filename; lstItem.SubItems.Add(GetSize(docFile.GetValue("length"))); lstItem.SubItems.Add(GetSize(docFile.GetValue("chunkSize"))); lstItem.SubItems.Add(ConvertToString(docFile.GetValue("uploadDate"))); lstItem.SubItems.Add(ConvertToString(docFile.GetValue("md5"))); if (!SystemManager.MonoMode) { lstItem.SubItems.Add(GetSystemIcon.GetContentType(Filename)); } lstData.Items.Add(lstItem); } Common.Present.Utility.ListViewColumnResize(lstData); //lstData.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent); // 用新的排序方法对ListView排序 var _lvwGFSColumnSorter = new lvwColumnSorter(); lstData.ListViewItemSorter = _lvwGFSColumnSorter; lstData.ColumnClick += (sender, e) => { switch (e.Column) { case 1: case 2: _lvwGFSColumnSorter.CompareMethod = lvwColumnSorter.SortMethod.SizeCompare; break; default: _lvwGFSColumnSorter.CompareMethod = lvwColumnSorter.SortMethod.StringCompare; break; } // 检查点击的列是不是现在的排序列. if (e.Column == _lvwGFSColumnSorter.SortColumn) { // 重新设置此列的排序方法. _lvwGFSColumnSorter.Order = _lvwGFSColumnSorter.Order == SortOrder.Ascending ? SortOrder.Descending : SortOrder.Ascending; } else { // 设置排序列,默认为正向排序 _lvwGFSColumnSorter.SortColumn = e.Column; _lvwGFSColumnSorter.Order = SortOrder.Ascending; } lstData.Sort(); }; }