private void IndexDataGridView_CellClick(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex < 0) { return; } if (e.ColumnIndex == ReorganizeColumn.Index) { var ivm = IndexDataGridView.Rows[e.RowIndex].DataBoundItem as IndexViewModel; if (ivm.CanReorganize()) { ivm.Reorganize = !ivm.Reorganize; IndexDataGridView.InvalidateRow(e.RowIndex); UpdateReorganizeCount(); } } else if (e.ColumnIndex == RebuildColumn.Index) { var ivm = IndexDataGridView.Rows[e.RowIndex].DataBoundItem as IndexViewModel; if (ivm.CanRebuild()) { ivm.Rebuild = !ivm.Rebuild; IndexDataGridView.InvalidateRow(e.RowIndex); UpdateRebuildCount(); } } EnableDisable(); }
private void QueryFragmentationBackgroupWorker_ProgressChanged(object sender, ProgressChangedEventArgs e) { var i = (int)e.UserState; var index = viewModels[i]; DataGridViewRow row = FindDataGridViewRowForIndex(index); if (row != null) { IndexDataGridView.InvalidateRow(row.Index); } }
private void AutoResizeColumns() { IndexDataGridView.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.ColumnHeader); ReorganizeColumn.Width = 70; RebuildColumn.Width = 50; using (var g = IndexDataGridView.CreateGraphics()) { AutoSizeColumn(g, SchemaNameColumn, viewModels.Select(x => x.SchemaName), 50, 170); AutoSizeColumn(g, ObjectNameColumn, viewModels.Select(x => x.ObjectName), 50, 170); AutoSizeColumn(g, IndexNameColumn, viewModels.Select(x => x.IndexName), 50, 170); AutoSizeColumn(g, IndexTypeDescriptionColumn, viewModels.Select(x => x.IndexTypeDescription), 50, 100); AutoSizeColumn(g, IndexSizeColumn, viewModels.Select(x => x.SizeDescription), 60, 200); AutoSizeColumn(g, IndexPagesColumn, viewModels.Select(x => x.PageCount.ToString()), 50, 100); AutoSizeColumn(g, AvgFragmentationPercentColumn, viewModels.Select(x => x.AvgFragmentationPercent.ToString()), 50, 100); AutoSizeColumn(g, RecommendationDescriptionColumn, viewModels.Select(x => x.RecommendationDescription), 100, 200); AutoSizeColumn(g, ReasonColumn, viewModels.Select(x => x.RecommendationReason), 250, 250); AutoSizeColumn(g, ColumnsDescriptionColumn, viewModels.Select(x => x.ColumnsDescription), 50, 200); AutoSizeColumn(g, IncludeColumnsDescriptionColumn, viewModels.Select(x => x.IncludeColumnsDescription), 50, 200); AutoSizeColumn(g, FilterDefinitionColumn, viewModels.Select(x => x.FilterDefinition), 50, 200); AutoSizeColumn(g, FillFactorColumn, viewModels.Select(x => x.FillFactor.ToString()), 50, 200); AutoSizeColumn(g, DataSpaceNameColumn, viewModels.Select(x => x.DataSpaceName), 50, 200); } }