2010-05-19 124 views
0

我正在使用Windows窗体应用程序。我有两个组合框,comboA和comboB.I有两列的datagrid视图。现在,我必须填充datagrid视图,并将comboA中的选定项目放入datagridview的第一列,并将comboB的选定项目放入第二列。请建议我。从combobox获取数据到datagridview

要清楚,当我从comboA中选择一个项目时,它应该显示在datagridview的第一列。并且,当我从comboB中选择一个项目时,它应该显示在datagridview的第二列中。

回答

0

假设要填充的第一行中您的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; 
} 
+0

感谢您的回复。但我收到一个错误消息:索引超出范围。必须是非负数且小于集合的大小。 参数名称:索引 – saeed 2010-05-19 12:41:30

+0

您是否向datagridview添加了一行? (你需要先添加列..) – stuartd 2010-05-19 13:29:31

+0

我做到了。 这是代码。 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; – saeed 2010-05-19 14:36:01

-1

我做到了。这是代码。

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