La clase DataGridViewComboBoxCell es un tipo especializado de DataGridViewCell utilizado para mostrar un control de cuadro combinado que es un campo de edición combinado con un campo de selección de lista. La clase DataGridViewComboBoxCell seleccionada actualmente contiene un control DataGridViewComboBoxEditingControl en el que el usuario puede cambiar el valor de la celda, presuponiendo que la propiedad ReadOnly de la celda está establecida en false.
A diferencia del control ComboBox, DataGridViewComboBoxCell no tiene las propiedades SelectedIndex ni SelectedValue. En su lugar, cuando se selecciona un valor de una lista desplegable, se establece la propiedad Value de celda.
DataGridViewComboBoxColumn corresponde al tipo de columna especializado para contener celdas de este tipo. Para modelar las celdas dentro de una columna como un control DataGridViewComboBoxCell existente, establezca la propiedad CellTemplate de la columna en esa celda. De manera predeterminada, la propiedad CellTemplate se inicializa con una nueva instancia de DataGridViewComboBoxCell.
Las propiedades de la columna relacionadas con celdas actúan como contenedores para las propiedades con similar denominación de la celda de plantilla. Al cambiar los valores de propiedad de la celda de plantilla sólo se verán afectadas las celdas que estén basadas en la plantilla y se hayan agregado después del cambio. Al cambiar los valores de propiedad relacionados con las celdas de la columna, sin embargo, se actualizará la celda de la plantilla y también todas las demás celdas de la columna, actualizando su presentación si es necesario.
Normalmente trabajará con el tipo DataGridViewComboBoxColumn, a menos que desee reemplazar valores de columna para celdas específicas. Las instrucciones descritas en el tema de información general sobre la clase DataGridViewComboBoxColumn para rellenar la lista desplegable se aplican a instancias de celda y de columna.
Notas para los herederos: Cuando derive del control DataGridViewComboBoxCell y agregue nuevas propiedades a la clase derivada, asegúrese de reemplazar el método Clone para copiar las nuevas propiedades durante las operaciones de clonación. También debe llamar al método Clone de la clase base para que las propiedades de la clase base se copien a la nueva celda.