如何设置动态添加到datagridview的组合框的索引

问题描述 投票:0回答:2

所以这里有一些背景故事可以尝试将事情放到上下文中

首先是数据格式:我有两个像这样结构化的数据库

DB1此表包含Field_Id,以及该字段的所有属性DB2此表包含更广泛的信息以及对DB1 Field_Id的引用,该引用用于获取Field_Name

这么简单的sql查询能够更好地描述

Select Field_Name From DB1 Where Field_Id = (select Field_Id From DB2 where param = %)

这将返回一个列表,该列表绑定到数据表中的DataGridViewComboBox。现在到目前为止一切都很好,ComboBox得到补充整个DataGridView得到填补问题出现在这里

for (int i = 0; i <= dataGridView1.RowCount - 2; i++)
        {
            dataGridView1.Rows[i].Cells[0].Value = valuetosetindex;
            dataGridView1.Refresh();
        }

事情是这没有设置第0列内部的ComboBox的值,如果我只是将列设置为它工作的字符串,但值集不起作用。

如果需要,我非常乐意添加更多代码。

c# winforms
2个回答
1
投票

使用您的代码片段,您将向对象添加无效值,从而产生ArgumentException

就像你已经提到的那样,如果你为它正在工作的值分配一个字符串。你只需要访问valuetosetindexComboBox元素:

dataGridView1.Rows[i].Cells[0].Value = yourColumn.Items[valuetosetindex];

在这段代码中,yourColumn是你的ComboBox,它绑定在列上。


0
投票

您的Datagridview如何绑定到数据?我建议使用数据集和BindingSource来连接它。如果绑定它,则可以选择使用ComboBox作为列类型。然后,您可以将第二个数据集绑定到该Combobox。这会自动创建链接。

© www.soinside.com 2019 - 2024. All rights reserved.