DataGridViewComboBoxCell value is not valid
Jeg forsøger at anvende BindingList<T> som DataSource til DataGridView.En af kolonnerne skal være en ComboBox men når jeg angiver DataPropertyName("FormTypeId") fejler programmet når det afvikles.
Fejlen er, System.ArgumentException: DataGridViewComboBoxCell value is not valid.
Nedenstående er blot en Windows.Form med en dataGridView.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace DataGridView
{
public partial class Form1 : Form
{
MyListOfRecord oMyListOfRecord;
// Items til ComboBox
public class MyFormType
{
int lId;
string lName;
public int ID { get { return lId; } set { lId = value; } }
public string Name { get { return lName; } set { lName = value; } }
public MyFormType(int aId, string aName)
{
lId = aId;
lName = aName;
}
}
// Liste med items til ComboBox : DataSource til Combo
public class MyFormList : BindingList<MyFormType>
{
public MyFormList()
{
this.Add(new MyFormType(1, "Rund"));
this.Add(new MyFormType(2, "Firkantet"));
}
}
// Record item
public class MyRecord
{
int lId;
string lName;
int lFormTypeId;
public int ID { get { return lId; } set { lId = value; } }
public int FormTypeId { get { return lFormTypeId; } set { lFormTypeId = value; } }
public string Name { get { return lName; } set { lName = value; } }
}
// Liste med record items : DataSource til DataGridView
public class MyListOfRecord : BindingList<MyRecord>
{
public MyFormList oMyFormList;
public MyListOfRecord()
{
oMyFormList = new MyFormList();
}
}
public Form1()
{
InitializeComponent();
oMyListOfRecord = new MyListOfRecord();
dataGridView1.DataSource = oMyListOfRecord;
dataGridView1.Columns["FormTypeId"].Visible = false;
DataGridViewComboBoxColumn c = new DataGridViewComboBoxColumn();
c.DataSource = oMyListOfRecord.oMyFormList;
dataGridView1.Columns.Add(c);
c.HeaderText = "Form";
c.DisplayMember = "Name";
c.ValueMember = "Id";
c.DataPropertyName = "FormTypeId"; // DENNE LINIE FEJLER (når programmet er startet)
}
}
}