将数据从组合框获取到 datagridview

Posted

技术标签:

【中文标题】将数据从组合框获取到 datagridview【英文标题】:getting data from combobox to a datagridview 【发布时间】:2010-05-19 10:58:41 【问题描述】:

我正在使用 Windows 窗体应用程序。我有两个组合框,comboA 和 comboB。我有一个包含两列的数据网格视图。现在我必须填充datagrid视图,将comboA中的选定项目放入datagridview的第一列,将comboB的选定项目放入第二列。请给我建议。

需要明确的是,当我从 comboA 中选择一个项目时,它应该显示在 datagridview 的第一列。同样,当我从 comboB 中选择一个项目时,它应该显示在 datagridview 的第二列中。

【问题讨论】:

【参考方案1】:

假设您要填充 datagridview 中的第一行:

private void comboBox1_SelectionChangeCommitted(object sender, EventArgs e)

    this.dataGridView1.Rows[0].Cells[0].Value = comboBox1.Text;


private void comboBox2_SelectionChangeCommitted(object sender, EventArgs e)

    this.dataGridView1.Rows[0].Cells[1].Value = comboBox2.Text;

【讨论】:

感谢您的回复。但我收到一条错误消息:索引超出范围。必须是非负数且小于集合的大小。参数名称:索引 你在datagridview中添加了一行吗? (您需要先添加列..) 我做到了。这是代码。数据表 dt2 = 新数据表();数据行 dr2 = null; dt2.Columns.Add("key"); dt2.Columns.Add("值"); dr2 = dt2.NewRow(); dr2["key"] = comboA.SelectedItem.ToString(); dr2["value"] = comboB.SelectedItem.ToString(); dt2.Rows.Add(dr2); this.dataGridView1.DataSource = dt2;【参考方案2】:

我做到了。这是代码。

DataTable dt2 = new DataTable(); 
DataRow dr2 = null; 
dt2.Columns.Add("key"); 
dt2.Columns.Add("value");
 dr2 = dt2.NewRow(); 
dr2["key"] = comboA.SelectedItem.ToString(); 
dr2["value"] = comboB.SelectedItem.ToString(); 
dt2.Rows.Add(dr2); 
this.dataGridView1.DataSource = dt2

【讨论】:

以上是关于将数据从组合框获取到 datagridview的主要内容,如果未能解决你的问题,请参考以下文章

如何将数据源绑定到 datagridview 组合框和复选框

尝试使用外键从组合框中获取数据并更新数据库

将带有数据的查询从父表单中的组合框输入到子表单中的列表框

获取从单选按钮到组合框的数据搜索

从访问 vba 中的多值组合框中获取值

从组合框中选择项目时,从 xml 文件中获取数据到文本框。如何做到这一点?