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

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

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

【问题讨论】:

    标签: c#


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-18
      • 2014-09-11
      相关资源
      最近更新 更多