将数据从组合框获取到 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的主要内容,如果未能解决你的问题,请参考以下文章