public static void SetColumnizer(ILogLineColumnizer columnizer, DataGridView gridView) { int rowCount = gridView.RowCount; int currLine = gridView.CurrentCellAddress.Y; int currFirstLine = gridView.FirstDisplayedScrollingRowIndex; try { gridView.Columns.Clear(); } catch (ArgumentOutOfRangeException ae) { // Occures sometimes on empty gridViews (no lines) if bookmark window was closed and re-opened in floating mode. // Don't know why. Logger.logError(ae.Message); } DataGridViewTextBoxColumn markerColumn = new DataGridViewTextBoxColumn(); markerColumn.HeaderText = ""; markerColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.NotSet; markerColumn.Resizable = DataGridViewTriState.False; markerColumn.DividerWidth = 1; markerColumn.ReadOnly = true; // markerColumn.HeaderCell.ContextMenuStrip = this.columnContextMenuStrip; gridView.Columns.Add(markerColumn); DataGridViewTextBoxColumn lineNumberColumn = new DataGridViewTextBoxColumn(); lineNumberColumn.HeaderText = "Line"; lineNumberColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.NotSet; lineNumberColumn.Resizable = DataGridViewTriState.NotSet; lineNumberColumn.DividerWidth = 1; lineNumberColumn.ReadOnly = true; // lineNumberColumn.HeaderCell.ContextMenuStrip = this.columnContextMenuStrip; gridView.Columns.Add(lineNumberColumn); foreach (string colName in columnizer.GetColumnNames()) { DataGridViewColumn titleColumn = new LogTextColumn(); titleColumn.HeaderText = colName; titleColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.NotSet; titleColumn.Resizable = DataGridViewTriState.NotSet; titleColumn.DividerWidth = 1; //titleColumn.HeaderCell.ContextMenuStrip = this.columnContextMenuStrip; gridView.Columns.Add(titleColumn); } gridView.RowCount = rowCount; if (currLine != -1) { gridView.CurrentCell = gridView.Rows[currLine].Cells[0]; } if (currFirstLine != -1) { gridView.FirstDisplayedScrollingRowIndex = currFirstLine; } //gridView.Refresh(); //AutoResizeColumns(gridView); }
public static DataGridViewColumn CreateTitleColumn(string colName) { DataGridViewColumn titleColumn = new LogTextColumn(); titleColumn.HeaderText = colName; titleColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.NotSet; titleColumn.Resizable = DataGridViewTriState.NotSet; titleColumn.DividerWidth = 1; titleColumn.SortMode = DataGridViewColumnSortMode.NotSortable; return(titleColumn); }