/// <summary> /// Sort columns /// </summary> private void dataGridFavorites_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) { DataGridViewColumn lastSortedColumn = this.dataGridFavorites.FindLastSortedColumn(); DataGridViewColumn column = this.dataGridFavorites.Columns[e.ColumnIndex]; SortOrder newSortDirection = SortableUnboundGrid.GetNewSortDirection(lastSortedColumn, column); SortableList <FavoriteConfigurationElement> data = this.bsFavorites.DataSource as SortableList <FavoriteConfigurationElement>; this.bsFavorites.DataSource = data.SortByProperty(column.DataPropertyName, newSortDirection); column.HeaderCell.SortGlyphDirection = newSortDirection; }
private void gridComputers_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) { DataGridViewColumn lastSortedColumn = this.gridComputers.FindLastSortedColumn(); DataGridViewColumn column = this.gridComputers.Columns[e.ColumnIndex]; SortOrder newSortDirection = SortableUnboundGrid.GetNewSortDirection(lastSortedColumn, column); SortableList <ActiveDirectoryComputer> data = this.bsComputers.DataSource as SortableList <ActiveDirectoryComputer>; this.bsComputers.DataSource = data.SortByProperty(column.DataPropertyName, newSortDirection); column.HeaderCell.SortGlyphDirection = newSortDirection; }
/// <summary> /// Replace the favorites in binding source doesnt affect performance /// </summary> private void UpdateFavoritesBindingSource() { SortableList <FavoriteConfigurationElement> data = Settings.GetFavorites(false).ToListOrderedByDefaultSorting(); DataGridViewColumn lastSortedColumn = this.dataGridFavorites.FindLastSortedColumn(); if (lastSortedColumn != null) // keep last ordered column { SortOrder backupGliph = lastSortedColumn.HeaderCell.SortGlyphDirection; this.bsFavorites.DataSource = data.SortByProperty(lastSortedColumn.DataPropertyName, lastSortedColumn.HeaderCell.SortGlyphDirection); lastSortedColumn.HeaderCell.SortGlyphDirection = backupGliph; } else { this.bsFavorites.DataSource = data; } this.UpdateCountLabels(); }