Tredje kolonne er en foreign key kolonne. Der står altså kun integer værdier, 1,2,3,4 etc.
Jeg kan godt joine en tabel på for at få vist en meningsfyldt string i feltet, men jeg ville allerhelst vise kolonnen som en DataGridViewComboBoxColumn, som brugeren kan ændre i.
Jeg har søgt og søgt, men google er ikke min ven i dette tilfælde.
Så spørgsmålet er, hvordan jeg kan overbevise mit datagridview om at 3 kolonne skal vises som en combox, hvor teksten kommer fra en DataTable eller en enum.
Herefter har jeg forsøgt at fjerne foreign key kolonnen, der er oprettet som en tekstkolonne, fra grid'et og selv indsætte en ny combobox kolonne. Kolonnen hedder MusicOriginID_FK.
// Bind the table to the datagrid, same as before DataTable _dt = _cueIO.RetrieveDT(_episode.Id); bindingSource1.DataSource = _dt.DefaultView; bindingNavigator1.BindingSource = bindingSource1; dataGridView1.DataSource = bindingSource1;
// Locate and remove the foreign key column int index = dataGridView1.Columns["MusicOriginID_FK"].Index; dataGridView1.Columns.Remove("MusicOriginID_FK");
// Create a new Combobox column DataGridViewComboBoxColumn dgvComboBoxColumn = new DataGridViewComboBoxColumn(); dgvComboBoxColumn.HeaderText = "Music Origin"; dgvComboBoxColumn.DataSource = Enum.GetValues(typeof(MusicOrigin)); dgvComboBoxColumn.ValueType = typeof(MusicOrigin); dgvComboBoxColumn.DataPropertyName = "MusicOriginID_FK";
// Insert the ComboxColumn into the grid dataGridView1.Columns.Insert(index, dgvComboBoxColumn);
Dette genererer desværre en masse exceptions Message = "DataGridViewComboBoxCell value is not valid."
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.