Hi!
I have ha promblem with adding items to a DataGridViewComboBoxCell. This is what I am doing.
private void SetUpforDataGridView()
{
dataGridViewSearched.ColumnCount = 5;
dataGridViewSearched.ColumnHeadersDefaultCellStyle.BackColor = Color.Navy;
dataGridViewSearched.ColumnHeadersDefaultCellStyle.ForeColor = Color.White;
dataGridViewSearched.ColumnHeadersDefaultCellStyle.Font =
new Font(dataGridViewSearched.Font, FontStyle.Bold);
dataGridViewSearched.Name = "Users Searched";
dataGridViewSearched.AutoSizeRowsMode =
DataGridViewAutoSizeRowsMode.DisplayedCellsExceptHeaders;
dataGridViewSearched.ColumnHeadersBorderStyle =
DataGridViewHeaderBorderStyle.Single;
dataGridViewSearched.CellBorderStyle = DataGridViewCellBorderStyle.Single;
dataGridViewSearched.GridColor = Color.Black;
dataGridViewSearched.RowHeadersVisible = false;
dataGridViewSearched.Dock = DockStyle.Fill;
DataGridViewComboBoxColumn dataGridViewcombobox = new DataGridViewComboBoxColumn();
dataGridViewSearched.Columns.Add(dataGridViewcombobox);
dataGridViewSearched.Columns[0].Name = "UserId";
dataGridViewSearched.Columns[1].Name = "Förnamn";
dataGridViewSearched.Columns[2].Name = "Efternamn";
dataGridViewSearched.Columns[3].Name = "Legitimation";
dataGridViewSearched.Columns[4].Name = "Yrkesroll";
dataGridViewSearched.Columns[5].Name = "Enheter";
dataGridViewSearched.Columns[5].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
dataGridViewSearched.Columns[0].Visible = false;
dataGridViewSearched.Columns[0].DefaultCellStyle.Font =
new Font(dataGridViewSearched.DefaultCellStyle.Font, FontStyle.Italic);
dataGridViewSearched.SelectionMode =
DataGridViewSelectionMode.FullRowSelect;
dataGridViewSearched.MultiSelect = false;
}
And the I am trying to set the table with an object it works fine with the text propertis but not with the DataGridViewComboBoxCell.
public void BindUserList(List<User> userList)
{
dataGridViewSearched.Rows.Clear();
object[] row = new object[5];
foreach (User p in userList)
{
row[0] = p.UserId;
row[1] = p.FirstName;
row[2] = p.LastName;
row[3] = p.MedicalProfession;
row[4] = p.ProfessionalRole;
dataGridViewSearched.Rows.Add(row);
foreach (var unit in p.UnitActivationPeriods)
{
((DataGridViewComboBoxCell)dataGridViewSearched.Rows[dataGridViewSearched.Rows.Count - 1].Cells[5]).Items.Add(unit.ToString());
}
dataGridViewSearched.Rows[dataGridViewSearched.Rows.Count - 1].Tag = p;
}
labelNumberOfUsers.Text = userList.Count.ToString();
dataGridViewSearched.Refresh();
}
Thanks, Mjelten