/// <summary> /// Handle Right Mouse Click to show Column Config Dialogue /// </summary> /// <param name = "sender"></param> /// <param name = "e"></param> private void tracksGrid_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) { // On right click on Header show config dialogue if (e.Button == MouseButtons.Right) { ColumnSelect dialog = new ColumnSelect(this); dialog.ShowDialog(); return; } if (e.ColumnIndex == 0) // Don't Sort the Status Column { return; } // We clicked on the column, so let's sort it DataGridViewColumn newColumn = tracksGrid.Columns[e.ColumnIndex]; ListSortDirection direction; // We store the Sortoder in the Columns Tag object currentSortOrder = newColumn.Tag; if (currentSortOrder != null) { // Sort the same column again, reversing the SortOrder. if ((int)currentSortOrder == 0) { direction = ListSortDirection.Descending; } else { direction = ListSortDirection.Ascending; } } else { direction = ListSortDirection.Ascending; // Clear the Glyph for all foreach (DataGridViewColumn col in tracksGrid.Columns) { col.Tag = null; col.HeaderCell.SortGlyphDirection = SortOrder.None; } } // Sort the selected column. PropertyDescriptor prop = _propColl.Find(newColumn.Name, false); Options.Songlist.Sort(prop, direction); newColumn.HeaderCell.SortGlyphDirection = direction == ListSortDirection.Ascending ? SortOrder.Ascending : SortOrder.Descending; newColumn.Tag = (int)direction; tracksGrid_Sorted(); tracksGrid.Update(); tracksGrid.Refresh(); }
/// <summary> /// Change Display Columns /// </summary> /// <param name = "sender"></param> /// <param name = "e"></param> private void ChangeDisplayColumns_Executed(object sender, CommandExecutedEventArgs e) { this.ribbon.BackstageViewVisible = false; Form dlg = new ColumnSelect(TracksGridView); ShowModalDialog(dlg); }
/// <summary> /// Handle Right Mouse Click to show Column Config Dialogue /// </summary> /// <param name = "sender"></param> /// <param name = "e"></param> private void tracksGrid_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) { // only hndle right click on Header to show config dialogue if (e.Button == MouseButtons.Right) { ColumnSelect dialog = new ColumnSelect(this); dialog.ShowDialog(); } }