0 1 2 3
-
strRock = "页岩;泥页岩;白云岩;煤岩";
dataGridView5.DataSource = dtStratum;
string colName = dtStratum.Columns[colNo].ColumnName;
string colAdd = "Rock";
if (bFisrt)
{
DataGridViewComboBoxColumn column = new DataGridViewComboBoxColumn();
column.Name = colAdd;
//List<KeyValuePair<int, string>> items= new List<KeyValuePair<int, string>>();
//DataTable dtItems = new DataTable(colAdd);
//dtItems.Columns.Add(colAdd);
//for (int i = 0; i < strRock.Split(';').Length; i++)
//{
// dtItems.Rows.Add(new object[] { strRock.Split(';')[i] });
// column.Items.Add(strRock.Split(';')[i]);
//}
column.DataSource = strRock.Split(';');
column.DisplayStyle = DataGridViewComboBoxDisplayStyle.ComboBox;
//column.ValueMember = "Key";
//column.DisplayMember = "Value";
column.DefaultCellStyle.NullValue = strRock.Split(';')[0];
dataGridView5.Columns.Insert(colNo + 1, column);
bFisrt = false;
}foreach (DataGridViewRow row in this.dataGridView5.Rows)
{
DataGridViewComboBoxCell cell = row.Cells[colAdd] as DataGridViewComboBoxCell;
cell.Value = strRock.Split(';')[int.Parse(row.Cells[colName].Value.ToString())];
if (row.Cells[colName].Value != null && cell != null)
{
int rowNo = int.Parse(row.Cells[colName].Value.ToString());
string val = strRock.Split(';')[rowNo];
cell.Style.NullValue = val;
cell.Value = val;
dataGridView5.UpdateCellValue(cell.ColumnIndex, cell.RowIndex);
}
row.Cells[colAdd].Value = strRock.Split(';')[int.Parse(row.Cells[colName].Value.ToString())];
}