Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/03/2007, 14:42
Avatar de SeriketZu
SeriketZu
 
Fecha de Ingreso: septiembre-2006
Ubicación: Mendoza, Argentina
Mensajes: 78
Antigüedad: 18 años, 5 meses
Puntos: 0
Pregunta ¿Cómo seleccionar Index en DataGridViewComboBoxCell?

Busqué y busqué por Internet, encontré muchas personas con el mismo problema que yo, pero ninguna con la solución

La pregunta es simple... ¿Cómo obtener y establecer el SelectedIndex de un DataGridViewComboBoxCell ?

Tengo por ejemplo el siguiente código:
Código:
			DataTable dt = new DataTable();
			DataColumn dc1 = new DataColumn("Id", Type.GetType("System.Byte"));
			DataColumn dc2 = new DataColumn("Nombre", Type.GetType("System.String"));
			dt.Columns.Add(dc1);
			dt.Columns.Add(dc2);
			DataRow dr1 = dt.NewRow();
			DataRow dr2 = dt.NewRow();
			DataRow dr3 = dt.NewRow();
			dr1["Id"] = 0;
			dr2["Id"] = 1;
			dr3["Id"] = 2;
			dr1["Nombre"] = "Libre";
			dr2["Nombre"] = "Regular";
			dr3["Nombre"] = "Aprobada";
			dt.Rows.Add(dr3);
			dt.Rows.Add(dr2);
			dt.Rows.Add(dr1);
			DataGridViewComboBoxColumn co = new DataGridViewComboBoxColumn();
			co.HeaderText = "Estado";
			co.Name = "Estado";
			co.Width = 78;
			co.DataSource = dt;
			co.DisplayMember = "Nombre";
			co.ValueMember = "Id";
			co.FlatStyle = FlatStyle.Flat;
			dataGridView1.Columns.Add(co);
			dataGridView1.Columns[6].ReadOnly = false;
Hasta ahí todo bien, al dataGridView1 que tengo con 5 columnas y 52 filas se le agrega una sexta columna con combobox en cada celda, las cuales tienen 3 opciones para elegir.
Ahora el problema está en que quiero establecer el item seleccionado en cada combobox (por ejemplo, para algunos el 0, para otros el 1 y para otros 2).
Intento hacerlo con el siguiente código pero no pasa absolutamente nada:
Código:
		private void setComboBoxCellsValues()
		{
			DataGridViewComboBoxCell dd;
			foreach (DataGridViewRow ro in dataGridView1.Rows)
			{
				dd = (DataGridViewComboBoxCell)ro.Cells["Estado"];
				if (ro.Cells["CódigoEstado"].Value != null)
				{
					dd.Value = (Byte)ro.Cells["CódigoEstado"].Value;
					//ro.Cells["Estado"].Value = 2;
					//dd.Value = dd.Items[2];
				}
			}
		}
¿Alguien me podría decir cómo puedo hacer para seleccionar el index de cada comboboxcell?
Espero que puedan ayudarme, saludos.