void lv_files_ColumnClick(object sender, ColumnClickEventArgs e) { if (tsl_path.Text == topLevelName) { return; } int currentColumn = e.Column; hartsuul currentComparer = (hartsuul)lv_files.ListViewItemSorter; if (currentComparer == null) { currentComparer = new hartsuul(); } if (currentColumn == currentComparer.columnIndex) { if (currentComparer.sortOrder == hartsuul.SORTORDER.ASC) { currentComparer.sortOrder = hartsuul.SORTORDER.DESC; lv_files.Columns[currentColumn].ImageIndex = 3; } else { currentComparer.sortOrder = hartsuul.SORTORDER.ASC; lv_files.Columns[currentColumn].ImageIndex = 2; } } else { lv_files.Columns[currentComparer.columnIndex].ImageIndex = -1; lv_files.Columns[currentComparer.columnIndex].TextAlign = HorizontalAlignment.Center; lv_files.Columns[currentComparer.columnIndex].TextAlign = HorizontalAlignment.Left; currentComparer.columnIndex = currentColumn; currentComparer.sortOrder = hartsuul.SORTORDER.ASC; lv_files.Columns[currentColumn].ImageIndex = 2; } lv_files.ListViewItemSorter = currentComparer; lv_files.Sort(); }
private void SetColumsForFolders() { if (lv_files.Columns.Count != 0) { lv_files.Columns.Clear(); } int sortedColumnIndex = 0; hartsuul.SORTORDER sortOrder = hartsuul.SORTORDER.ASC; hartsuul currentComparer = (hartsuul)lv_files.ListViewItemSorter; if (currentComparer != null) { sortedColumnIndex = currentComparer.columnIndex; sortOrder = currentComparer.sortOrder; } ColumnHeader column = null; int currentColumnIndex = 0; foreach (KeyValuePair<string, int> item in columnsFiles) { column = new ColumnHeader(); column.Text = item.Key; column.Width = item.Value; if (sortedColumnIndex == currentColumnIndex) { if (sortOrder == hartsuul.SORTORDER.ASC) { column.ImageIndex = 2; } else { column.ImageIndex = 3; } } lv_files.Columns.Add(column); currentColumnIndex++; } }