Exemplo n.º 1
0
        private void SortGroups()
        {
            // Save and clear old groups
            var Groups = new ListViewGroup[lvProfiles.Groups.Count];

            lvProfiles.Groups.CopyTo(Groups, 0);
            lvProfiles.Groups.Clear();

            // Add groups back in, sorted ascending
            lvProfiles.Groups.AddRange(Groups.OrderBy(x => x.Header).ToArray());
        }
Exemplo n.º 2
0
        /// <summary>
        /// Tri la liste en fonction de l'index de colonne <paramref name="ColumnIndex"/>. Si la colonne est la colonne
        /// quantité, rien ne se passe.
        /// </summary>
        /// <param name="ColumnIndex">Le numéro de la colonne sur laquelle trier.</param>
        private void SortColumn(int ColumnIndex)
        {
            // si c'est la quantité on annule le tri.
            if (ColumnIndex == COLUMN_QUANTITY)
            {
                return;
            }

            // On enlève le symbole ▼ de la dernière colonne trié (si elle existe).
            var SortedColumn = listView1.Columns[ColumnIndex];

            if (LastSortedColumn != null)
            {
                LastSortedColumn.Text = LastSortedColumn.Text.Substring(2, LastSortedColumn.Text.Length - 2);
            }

            // On créer des groupes alphabéthique en fonction de la colonne.
            foreach (ListViewItem ListView1Item in listView1.Items)
            {
                var FirstLetter    = ListView1Item.SubItems[ColumnIndex].Text.Substring(0, 1);
                var ListView1Group = listView1.Groups[FirstLetter.ToLower()];
                if (ListView1Group == null)
                {
                    listView1.Groups.Add(ListView1Group = new ListViewGroup(FirstLetter.ToLower(), FirstLetter.ToUpper()));
                }

                ListView1Item.Group = ListView1Group;
            }

            // On tri les groupes et on ajoute à la colonne le triangle indiquant le sens du tri.
            var SortedGroup = new ListViewGroup[listView1.Groups.Count];

            listView1.Groups.CopyTo(SortedGroup, 0);
            listView1.Groups.Clear();
            var SortIcon = "";

            switch (listView1.Sorting)
            {
            case SortOrder.Ascending:
                listView1.Groups.AddRange(SortedGroup.OrderBy(Group => Group.Name).ToArray());
                SortIcon = "▲ ";
                break;

            case SortOrder.Descending:
                listView1.Groups.AddRange(SortedGroup.OrderByDescending(Group => Group.Name).ToArray());
                SortIcon = "▼ ";
                break;
            }
            SortedColumn.Text = SortIcon + SortedColumn.Text;

            listView1.Sort();
            LastSortedColumn = SortedColumn;
        }
Exemplo n.º 3
0
        private void SortGroups(ListView list)
        {
            if (list.Groups.Count > 1)
            {
                ListViewGroup[] groups = new ListViewGroup[list.Groups.Count];
                list_TestsPending.Groups.CopyTo(groups, 0);
                groups = groups.OrderBy(g => g.Name).ToArray();

                list_TestsPending.Groups.Clear();
                list_TestsPending.Groups.AddRange(groups);
            }
        }
Exemplo n.º 4
0
        private void listViewProdutos_DragDrop(object sender, DragEventArgs e)
        {
            ListView lvTarget = (ListView)sender;

            if (e.Data.GetDataPresent(typeof(ListView.SelectedListViewItemCollection)))
            {
                foreach (ListViewItem current in (ListView.SelectedListViewItemCollection)e.Data.GetData(typeof(ListView.SelectedListViewItemCollection)))
                {
                    string cat = current.Group.Name;
                    current.Remove();

                    ListViewGroup LVG = null;
                    foreach (ListViewGroup lvg in lvTarget.Groups)
                    {
                        if (lvg.Name == cat)
                        {
                            LVG = lvg;
                            break;
                        }
                    }
                    if (LVG == null)
                    {
                        LVG = lvTarget.Groups.Add(cat, cat);
                    }
                    ListViewGroup[] oGroups = new ListViewGroup[lvTarget.Groups.Count];
                    lvTarget.Groups.CopyTo(oGroups, 0);
                    lvTarget.Groups.Clear();
                    lvTarget.Groups.AddRange(oGroups.OrderBy(x => x.Name).ToArray());
                    ListViewItem lvi = lvTarget.Items.Add((ListViewItem)current);
                    lvi.Group = LVG;
                }
                lvTarget.Sort();
                _mapas[bindingSourceMapas.Position].ProdutosUpdate(listViewProdutosMapeados);
                LojaBindingNavigatorSaveItem.Enabled = true;
            }
        }