Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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++;
            }
        }