DataGridView.CellValueChanged - PullRequest
0 голосов
/ 26 мая 2018

Как изменить значение ячейки при изменении значения ячейки комбинированного списка в представлении данных?

При изменении значения столбца «producto» измените столбец «precio»

    private void DgvDetalleVta_CellValueChanged(object sender, DataGridViewCellEventArgs e)
    {
        DataGridViewComboBoxCell cb = sender as DataGridViewComboBoxCell;
        command.Parameters.AddWithValue("@Nombre", cb.Value.ToString());
        command = new SqlCommand(
                 "SELECT Precio FROM Producto WHERE Nombre = @Nombre", conexion.conexion);
        adaptador = new SqlDataAdapter(command);
        tabla = new DataTable();
        adaptador.Fill(tabla);
        dgvDetalleVta.SelectedRows[0].Cells["Column5"].Value = 
                                               tabla.Rows[0]["Precio"].ToString();
    }

1 Ответ

0 голосов
/ 26 мая 2018

Я бы использовал обработчик событий CellEndEdit, чтобы получить значение поля со списком после завершения редактирования.Вам нужно будет преобразовать строку и ячейку в DataGridViewComboBoxCell.

private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
    if (e.RowIndex != -1)
    {
        using (var cbx = (DataGridViewComboBoxCell)dataGridView1.Rows[e.RowIndex].Cells["ColumnCellName"])
        {
            try
            {
                // Do something with value .... cbx.Value 
            }
            catch
            { }
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...