07
System.Data.DataRowView al seleccionar en combo.
Posted by MarioEsto me llevo varios dolores de cabeza, lo posteo para que no se me olvide jajaja, y por si a alguien le sirve.
Trabajando sobre Visual Studio 2005, C#, SQL 2005.
Al seleccionar un Item de un combo llenado mediante un DataTable, estableciendo sus propiedades de indizado y visualizado medainte el mismo conjunto de informacion… osea:
Combo.DataSource = DTComboSource;
Combo.ValueMember = “ID”;
Combo.DisplayMember = “Descripcion”;
Ni convirtiendo a .ToString() el Combo.SelectedValue, deja de mostrar System.Data.DataRowView =(
Solucion:
Cambiar el orden, poner despues de la asigancion de propiedades del combo, el datasource, Combo.DataSource = DTComboSource
Osea:
Combo.ValueMember = “ID”;
Combo.DisplayMember = “Descripcion”;
Combo.DataSource = DTComboSource;
Asi si, asi si, gana la gente. Si no sirve me avisan.
UPDATE!!!
Si se esta ejecutando codigo en el evento SelecteIndex del Combo, se ejcutara por cada vez que un elemnto sea cargado en el combo, para esto, yo utilizo una variable que sirve como semaforo para ejecutar el codigo dentro de SelectedIndex.
Quedando de esta manera:
private void Combo_SelectedIndexChanged(object sender, EventArgs e)
{
if (CargandoCombo== false)
{
//Aqui va el codigo que ocupa el indice, que en ese momento esta siendo traido desde el DATASOURCE de combo, por eso, trae System.Data.DataRowView
}
}
Obviamente, mientras se carga el combo, se debe de prender esta variable:
CargandoCombo = true;
Combo.ValueMember = "ID";Combo.DisplayMember = "Descripcion";
Combo.DataSource = DTComboSource;
CargandoCombo = false;
Y a darle atomos!
Por fin!, me faltaba el ValueMember
Muchas gracias!!!!
De nada! Que chido que te sirvió!
Add A Comment