Пример #1
0
        /// <summary>
        /// call this from column click.
        /// </summary>
        /// <param name="lvs">an instance of listviewsorter</param>
        /// <param name="lv">The lv.</param>
        /// <param name="column">The column.</param>
        /// <param name="forceorder">if set to a value, will sort by that all the time, otherwise will sort as normal</param>
        public static void ColumnSort(ListViewSorter lvs, ListView lv, int column, SortOrder? forceorder = null)
        {
            try
            {
                lv.ListViewItemSorter = lvs;
                if (!(lv.ListViewItemSorter is ListViewSorter))
                    return;
                lvs = (ListViewSorter) lv.ListViewItemSorter;
            }
            catch (Exception)
            {
                return;
            }

            if (forceorder != null)
            {
                lv.Sorting = (SortOrder) forceorder;
            }
            else
            {
                //invert sorting
                lv.Sorting = lv.Sorting == SortOrder.Ascending ? SortOrder.Descending : SortOrder.Ascending;
            }
            lvs.ByColumn = column;

            lv.Sort();
        }
Пример #2
0
        /// <summary>
        /// call this from column click.
        /// </summary>
        /// <param name="lvs">an instance of listviewsorter</param>
        /// <param name="lv">The lv.</param>
        /// <param name="column">The column.</param>
        /// <param name="forceorder">if set to a value, will sort by that all the time, otherwise will sort as normal</param>
        public static void ColumnSort(ListViewSorter lvs, ListView lv, int column, SortOrder?forceorder = null)
        {
            try
            {
                lv.ListViewItemSorter = lvs;
                if (!(lv.ListViewItemSorter is ListViewSorter))
                {
                    return;
                }
                lvs = (ListViewSorter)lv.ListViewItemSorter;
            }
            catch (Exception)
            {
                return;
            }

            if (forceorder != null)
            {
                lv.Sorting = (SortOrder)forceorder;
            }
            else
            {
                //invert sorting
                lv.Sorting = lv.Sorting == SortOrder.Ascending ? SortOrder.Descending : SortOrder.Ascending;
            }
            lvs.ByColumn = column;

            lv.Sort();
        }
Пример #3
0
        private void Stats_Load(object sender, EventArgs e)
        {
            statsLV.Items.Clear();

            totalnew.Text = "Total Unique Colours for Custom:" + Beads.GetUniqueCount(b,false);
            totalold.Text = "Total Unique Colours for Original:" + Beads.GetUniqueCount(b,true);
            totalbeadcount.Text = "Total Beads:" + b.width*b.height;

            foreach(var kvp in b.MappedPalette)
            {
                var lvi = new ListViewItem();
                var name = DictionaryExtras.GetKeyByValue(Beads.AllBeadColours, kvp.Value);
                if (name==null)
                    continue;

                lvi.Text = name;
                lvi.BackColor = kvp.Value;
                lvi.ForeColor = ColorExtras.GetNegativeColour(kvp.Value);
                lvi.SubItems.Add(MatrixOps.Count(b.BeadColours, kvp.Value).ToString());

                statsLV.Items.Add(lvi);
            }

            lvs = new ListViewSorter();

            ListViewSorter.ColumnSort(lvs,statsLV,1,SortOrder.Descending);
        }