Proprio non riesco a visulizzarlo, la DataGridViewComboBoxCell ha sempre il valore di default vuoto
ecco un pezzo di codice:
dt = new DataTable("OpenOrders");
dt.Columns.Add("Campo1", typeof(string));
dt.Columns.Add("Campo2", typeof(string));
dt.Columns.Add("disney", typeof(string));
row = dt.NewRow();
row["Campo1"] = "1";
row["Campo2"] = "2";
row["disney"] = "Nocciola";
dt.Rows.Add(row);
row = dt.NewRow();
row["Campo1"] = "11";
row["Campo2"] = "22";
row["disney"] = "Paperino";
dt.Rows.Add(row);
dv = new DataView(dt);
kDataGridView.DataSource = dv;
defaultValue = new ArrayList();
for (int i = 0; i < kDataGridView.Rows.Count; i++)
{
defaultValue.Add(kDataGridView.Rows[i].Cells["disney"].Value);
}
kDataGridView.Columns["disney"].Visible = false;
disney = new DataGridViewComboBoxColumn();
disney.Name = "disneyUffa";
cell = new DataGridViewComboBoxCell();
cell.Items.AddRange(
new string[] { "Pippo", "Paperino", "Minni", "Nocciola" });
cell.ReadOnly = false;
//cell.Style.NullValue = "ae";
disney.CellTemplate = cell;
kDataGridView.Columns.Add(disney);
for (int i = 0; i < defaultValue.Count -1; i++)
{
kDataGridView.Rows[i].Cells["disneyUffa"].Style.NullValue = defaultValue[i];
kDataGridView.Rows[i].Cells["disneyUffa"].Value = defaultValue[i];
int lol = kDataGridView.Columns["disneyUffa"].Index;
kDataGridView.UpdateCellValue(lol, i);
kDataGridView.Update();
MessageBox.Show(kDataGridView.Rows[i].Cells["disneyUffa"].Value.ToString());
}
il messagebox mi fa vedere correttamente il valore della cella combo ma nel datagridview la cella combo ha valore di default vuoto
cell.Style.NullValue funziona ma imposta il valore uguale a tutte le celle, io voglio che ogni cella combo abbia il proprio valore (ad esempio preso dal database)
ogni suggerimento è ben accetto e scusate la mia nubbiaggine in C# :-)