Supongo que se refería a DataGridView, que es para Windows Forms, mientras que GridView es para ASP.NET, aunque etiquetó su pregunta como tal.
¿Cómo vincula los datos al DataGridViewComboBoxColumn? Tendrá que establecer las propiedades DisplayMember y ValueMember en DataGridViewComboBoxColumn mientras establece su DataSource. El enlace de MSDN a DisplayMember muestra un ejemplo, pero no muestra exactamente lo que está solicitando, ya que establece ambas propiedades en la misma cosa.
DisplayMember sería el texto que desea que el usuario vea, y ValueMember sería el valor subyacente oculto asociado a él.
Por el bien de un ejemplo, digamos que usted tiene una mejor elección en su proyecto que representa las selecciones y se ve así:
public class Choice
{
public string Name { get; private set; }
public int Value { get; private set; }
public Choice(string name, int value)
{
Name = name;
Value = value;
}
private static readonly List<Choice> possibleChoices = new List<Choice>
{
{ new Choice("One", 1) },
{ new Choice("Two", 2) }
};
public static List<Choice> GetChoices()
{
return possibleChoices;
}
}
GetChoices() devolverá una lista con sus opciones. Idealmente, tendría un método de este tipo en una capa de servicio, o podría crear su propia lista en otro lugar si así lo desea (en el código de su formulario detrás). Para simplificar, lo he agrupado todo en la misma clase.
En su forma se uniría a la lista de la DataGridViewComboBoxColumn de la siguiente manera:
// reference the combobox column
DataGridViewComboBoxColumn cboBoxColumn = (DataGridViewComboBoxColumn)dataGridView1.Columns[0];
cboBoxColumn.DataSource = Choice.GetChoices();
cboBoxColumn.DisplayMember = "Name"; // the Name property in Choice class
cboBoxColumn.ValueMember = "Value"; // ditto for the Value property
Ahora debería ver "uno" y "dos" en el cuadro combinado. Cuando obtiene el valor seleccionado de él, debe ser el valor 1 o 2 subyacente.
Esa es la idea detrás de usar DisplayMember/ValueMember. Esto debería ayudarlo a avanzar y ayudarlo a adaptar la fuente de datos que estaba utilizando.
Ésta es la respuesta perfecta! ¡Gracias Ahmad! Reinhard –
¿Cómo podemos leer el valor seleccionado de una celda desplegable en la cuadrícula de datos? – Meysam
¡No sabía que era así de simple! Gracias – Jack