【问题标题】:Updating selected value in combobox by clicking datagridview row通过单击 datagridview 行更新组合框中的选定值
【发布时间】:2014-07-26 02:40:51
【问题描述】:

我有一个 datagridview(dgv) 包含 2 个组合框的显示成员,dgv 用于显示这些组合框之间的 1-n n-1 关系。

我编写了一个代码,用于在网格视图中按下一行时更改组合框中的选定值。它并非一直都在工作,我的意思是当我按下时它会为每一列更新;但不要每次都更改它们。

例如:单击第 1、2、3、4 行,没有任何反应;开始点击行,代码开始工作;然后它不再工作等等。

这里是更改组合框选定值的代码:

private void dgvTypesRelation_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
    string empType = Header.returnItemInGrid(dgvTypesRelation.SelectedRows, 0);
    string reqType = Header.returnItemInGrid(dgvTypesRelation.SelectedRows, 1);
    string query1 = "SELECT Request_TypeID FROM Request_Type WHERE Request_Type=@r";
    string query2 = "SELECT Employee_TypeID FROM Employee_Type WHERE Employee_Type=@e";
    int req, emp;
    DataTable result = new DataTable();

    using (SqlConnection conn = new SqlConnection(connStr))
    {
        conn.Open();
        using (SqlCommand cmd = new SqlCommand(query1, conn))
        {
            cmd.Parameters.AddWithValue("@r", reqType);
            using (SqlDataReader dr = cmd.ExecuteReader())
            {
                result.Load(dr);
            }
            req = Convert.ToInt32(result.Rows[0]["Request_TypeID"]);

            cmd.CommandText = query2;
            cmd.Parameters.AddWithValue("@e", empType);
            result = new DataTable();
            using (SqlDataReader dr = cmd.ExecuteReader())
            {
                result.Load(dr);
            }
            emp = Convert.ToInt32(result.Rows[0]["Employee_TypeID"]);
        }
    }

    cmbxRequestConnect.SelectedValue = req;
    cmbxEmployeeConnect.SelectedValue = emp;
    chkbxRemove.Checked = true;
}

【问题讨论】:

    标签: c# winforms datagridview combobox selectedvalue


    【解决方案1】:

    我很确定我也犯过这个错误,一次。尝试在dgvTypesRelation_CellClick 下使用此代码,而不是dgvTypesRelation_CellContentClick

    由 Visual Studio 描述,“CellContentClick:在单击单元格内的内容时发生”,而“CellClick:在单击单元格的任何部分时发生”

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多