コード例 #1
0
        private void cbGroupFilter_SelectedIndexChanged(object sender, EventArgs e)
        {
            var cbGroups = sender as ComboBox;

            // Reset column sorting
            listTelephones.ListViewItemSorter = null;
            // Reset sort icon presentation
            for (int i = 0; i < listTelephones.Columns.Count; i++)
            {
                ListViewColumnHeaderHelper.SetColumnHeaderSortIcon(listTelephones, i, SortOrder.None);
            }

            if (cbGroups.SelectedIndex == 0)
            {
                // Show all selected
                listTelephones.ResetFilterItems(_xmlWrapper.TelephoneItems);
            }
            else
            {
                string groupName = cbGroups.Items[cbGroups.SelectedIndex].ToString();
                listTelephones.FilterItems(_xmlWrapper.TelephoneItems, groupName);
            }

            UpdateStatusBarInfo();
        }
コード例 #2
0
        private void listTelephones_ColumnClick(object sender, ColumnClickEventArgs e)
        {
            var listView = sender as ListView;
            var sorter   = listView.ListViewItemSorter as ListViewColumnSorter;

            if (sorter == null)
            {
                sorter = new ListViewColumnSorter(e.Column);
                listView.ListViewItemSorter = sorter;
            }

            // Determine if clicked column is already the column that is being sorted
            if (e.Column == sorter.SortColumn)
            {
                // Reverse the current sort direction for this column
                if (sorter.SortOrder == SortOrder.Ascending)
                {
                    sorter.SortOrder = SortOrder.Descending;
                }
                else
                {
                    sorter.SortOrder = SortOrder.Ascending;
                }
            }
            else
            {
                // Set the column number that is to be sorted; default to ascending
                sorter.SortColumn = e.Column;
                sorter.SortOrder  = SortOrder.Ascending;
            }

            // Set sort icon presentation
            for (int i = 0; i < listView.Columns.Count; i++)
            {
                ListViewColumnHeaderHelper.SetColumnHeaderSortIcon(listView, i, i == sorter.SortColumn ? sorter.SortOrder : SortOrder.None);
            }

            // Perform the sort with these new sort options.
            listView.Sort();
        }