您好我正在尝试进行数据绑定,我在Form1类中有一个对象列表,我希望将其绑定到数据网格视图,如下所示:
public partial class Form1 : Form
{
public BindingList<PrefixDataAffichable> prefixepresent { get; set; }
public Form1()
{
InitializeComponent();
prefixepresent = new BindingList<PrefixDataAffichable>();
LoadData();
dataGridView1.DataSource = prefixepresent;
}
}
和PrefixDataAffichable类看起来像
public class PrefixDataAffichable
{
public string PrfixeInstance { get; set; }
public BindingList<string> PrfixePossibleChoice { get; set; }
public string PrefixeDescription { get; set; }
BindingList<string> PrfixePoPrfixeInstancessibleChoice = new BindingList<string>();
public PrefixDataAffichable(PrefixRef prefixref)
{
PrefixeDescription = prefixref.prefix._description;
PrfixeInstance = prefixref.prefix._prefixe + "(" + prefixref.texteentreparanthese + ")";
PrfixePossibleChoice.Add(_PrfixeInstance);
PrfixePossibleChoice.Add(_PrfixeInstance + "1!");
}
}
当我进行数据绑定时,2列显示为textboxcolumn,但我无法使组合框列成为apppear。我厌倦了手动创建它并将DataPropertyName manully放到:PrfixePossibleChoice但程序运行时会崩溃。
当我选择类作为数据绑定源或如何按代码添加列时,是否有人知道如何使列出现;
更新:我添加了代码
dataGridView1.DataSource = prefixepresent;
DataGridViewComboBoxColumn colbox = new DataGridViewComboBoxColumn();
colbox.DataPropertyName = "PrfixePossibleChoice";
dataGridView1.Columns.Add(colbox);
错误是:System.ArgumentException:DataGridViewComboBoxCell值无效。
答案 0 :(得分:0)
您需要在绑定时为组合框列设置DataSource
。您收到错误是因为在组合框列的DataSource
或Items
集合中无法使用为组合框单元格设置的值。
dataGridView1.DataSource = prefixepresent;
DataGridViewComboBoxColumn colbox = new DataGridViewComboBoxColumn();
colbox.DataPropertyName = "PrfixePossibleChoice";
colbox.DataSource = set the datasource here
dataGridView1.Columns.Add(colbox);