数据绑定datagridview comboboxcolumn和textbox

时间:2014-06-14 20:39:50

标签: c# data-binding datagridview

您好我正在尝试进行数据绑定,我在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值无效。

1 个答案:

答案 0 :(得分:0)

您需要在绑定时为组合框列设置DataSource。您收到错误是因为在组合框列的DataSourceItems集合中无法使用为组合框单元格设置的值。

dataGridView1.DataSource = prefixepresent;
DataGridViewComboBoxColumn colbox = new DataGridViewComboBoxColumn();
colbox.DataPropertyName = "PrfixePossibleChoice";
colbox.DataSource = set the datasource here
dataGridView1.Columns.Add(colbox);