DataGridViewComboBoxColumn没有';t绑定正确

本文关键字:绑定 没有 DataGridViewComboBoxColumn | 更新日期: 2023-09-27 18:19:49

我正在尝试将组合框添加到datagridview,并将组合框与数据和值绑定。这就是我正在做的事情,我最终有很多例外。我做错了什么?

        IList<string> houseNums= myTable.Select(x => house_num).ToList();
        dealersGridView.Columns.Clear();
        dealersGridView.DataSource = myTable;
        dealersGridView.Columns["id"].DisplayIndex = 1;
        dealersGridView.Columns["id"].HeaderText = "Field 1";
        dealersGridView.Columns["name"].DisplayIndex = 2;
        dealersGridView.Columns["name"].HeaderText = "Field 1";
        dealersGridView.Columns.Remove("house_num");
        DataGridViewComboBoxColumn column = new DataGridViewComboBoxColumn();
        column.Items.AddRange(new object[] { 1, 2, 3, 4, 5, 6, 7 });
        column.DisplayIndex = 8;
        column.HeaderText = "MyHeader";
        column.DataSource = houseNums;
        dealersGridView.Columns.Add(column);

组合数据没有绑定,我看不到所选的值。怎么了?。。

DataGridViewComboBoxColumn没有';t绑定正确

我认为您的问题之一是向Items集合添加值:

column.Items.AddRange(new object[] { 1, 2, 3, 4, 5, 6, 7 });

然后再次设置DataSource属性

column.DataSource = houseNums;

你需要做一个或另一个,而不是两者都做。

foreach (string e in houseNums) column.Items.Add(e);

或:

column.DataSource = myTable.Select(x => house_num).ToList();

下面是一篇文章和一个从List<T>填充DataGridViewComboBoxColumn的热门示例。

还有一件事。我注意到你正在从一张表中选择一个列表。我假设这是一个数据库表。您可以将该表中的特定字段绑定到DataSource属性。