private void UpdateColumn(int col) { SpreadsheetColumn column = grid.Columns[col] as SpreadsheetColumn; column.Binding = new Binding("[" + col + "]"); if (data.columnDatas[col].HasCustomLabel()) { column.Header = data.columnDatas[col].label; } else { column.Header = ""; column.Header = GetColumnName(col); } column.IsReadOnly = data.columnDatas[col].HasExpression(); }
public void AddColumn(int?col) { int colIndex = (col.HasValue ? col.Value : (grid.Columns.Count)); SpreadsheetColumn column = new SpreadsheetColumn() { Binding = new Binding("[" + colIndex + "]"), Header = GetColumnName(colIndex), HeaderStyle = (Style)this.Resources["HeaderStyle"] }; grid.Columns.Insert(colIndex, column); // update the columns binding and header for (int i = colIndex + 1; i < grid.Columns.Count; ++i) { UpdateColumn(i); } //grid.Items.Refresh(); }