es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Convertir un DataGridViewTextbox de C# en una DataGridViewComboBoxCell

Tengo una tabla DataGridView que ya está llena.
Ahora, cuando hago clic en una celda en el DataGridView, quiero crear un ComboBox a partir de la celda, donde luego pueda elegir una selección de “Artículos”.

“DgvDataList” es mi DataGridView.

    private void Dgv_Data_List_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
        DataGridViewComboBoxCell CboCell = new DataGridViewComboBoxCell();
        CboCell.Items.AddRange("Sí", "No");
        Dgv_Data_List.Rows[e.RowIndex].Cells[e.ColumnIndex] = CboCell;  <-- En este punto, mi programa se bloquea
}

No quiero ningún ComboBox fijo. Deben crearse en tiempo de ejecución tan pronto como sean necesarios.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Puede crear un ComboBox en tiempo de ejecución cuando se hace doble clic en una celda del DataGridView utilizando el evento CellDoubleClick. En el controlador de eventos, puede crear una DataGridViewComboBoxCell y agregar los elementos que desee a la colección Items. Luego, puede asignar la celda ComboBox a la celda en el DataGridView.

    Aquí hay un ejemplo:

    private void Dgv_Data_List_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
    {
        DataGridViewComboBoxCell CboCell = new DataGridViewComboBoxCell();
        CboCell.Items.AddRange("Sí", "No");
        Dgv_Data_List.Rows[e.RowIndex].Cells[e.ColumnIndex] = CboCell;
    }
    

Comments are closed.