// Order has changed, need to be reflected in the header struture public void ReorganizeHeader() { int i = 0; foreach (DataGridViewColumn col in _theDataGrid.Columns) { string colName = col.Name; string colNameIndex = _theDataGrid.Columns[i++].Name; } // CCellHeaderVector tCurrentCellHeaderVector = _theMatrix._cellHeaderVector; CCellHeaderVector tCellHeaderVector = new CCellHeaderVector(); i = 0; foreach (DataGridViewColumn col in _theDataGrid.Columns.OfType <DataGridViewColumn>().OrderBy(x => x.DisplayIndex)) { string colName = col.Name; string colNameIndex = _theDataGrid.Columns[i++].Name; CCellHeader tCellHeader = _theMatrix._cellHeaderVector.GetCellHeaderByColName(colName); tCellHeaderVector.AddCellHeader(tCellHeader); } // replace witht the new one _theMatrix._cellHeaderVector = tCellHeaderVector; }
// add cols dynagrids private void buttonAddField_Click(object sender, EventArgs e) { //this.dataGridViewDyn.Columns.Add("newColumnName", "Column Name in Text"); this.dataGridViewDyn.Rows.Clear(); this.dataGridViewDyn.Columns.Clear(); CCellHeader newCellHeader1 = new CCellHeader(1, "col1", "header1", "Descr1", "script1"); CCellHeader newCellHeader2 = new CCellHeader(2, "col2", "header2", "Descr2", "script2"); CCellHeader newCellHeader3 = new CCellHeader(3, "col3", "header3", "Descr3", "script3"); CCellHeader newCellHeader4 = new CCellHeader(4, "col4", "header4", "Descr4", "script4"); CCellHeader newCellHeader5 = new CCellHeader(5, "col5", "header5", "Descr5", "script5"); CCellHeaderVector _cellHeaderVector = new CCellHeaderVector(); _cellHeaderVector.AddCellHeader(newCellHeader1); _cellHeaderVector.AddCellHeader(newCellHeader2); _cellHeaderVector.AddCellHeader(newCellHeader3); _cellHeaderVector.AddCellHeader(newCellHeader4); _cellHeaderVector.AddCellHeader(newCellHeader5); AddCellToGrid(dataGridViewDyn, _cellHeaderVector); }