Muchas Gracias, la verdad que hice algunas pruebas con este dato que me
pasas, pero no consigo que funcione bien.
Parece que no es cuestion del momento, incluso si luego de que se
rompe(luego de ejecutar el metodo), lo reconstruyo totalmente, ya no
funciona.
Lo extraño es que inicialmente se carga correctamente el combo.......y
luevo al llamar a un metodo de un objeto que no tiene nada que ver con
este, se corrompa.
No le encuentro explicacion, como si pisara su espacio de memoria o
manipule un objeto que no tiene relacion con este otro......
Escucho sugerencias....
Gracias
Diego Jancic escribió:
Hola,
Me habia pasado hace un tiempo, lo malo es que no tengo el codigo aca para
fijarme como lo habia resuelto...
Creo que lo que tenia que hacer era poner el DataSource en null y despues
asignarle el dataset...
Haciendo una vista rapida con reflector vi este codigo que se ejecuta cuando
asignas el DataSource:
try
{
this.SetDataConnection(value, this.displayMember, false);
}
catch
{
this.DisplayMember = "";
}
No entendi muy bien todo lo que hace el SetDataConnection, pero podes probar
con volver a asignar el DisplayMember...
Espero que te funcione,
Saludos!
-----Original Message-----
From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Gustavo
Sent: Viernes, 30 de Marzo de 2007 19:21
To: [email protected]
Subject: [puntonet] Comportamiento extraño de DataSet o ComboBox
Buenas Tardes, a ver si me pueden ayudar, si a alguien le sucedio algo
parecido, me sucede algo extraño:
Cree una serie de clases para la manipulacion de datos de las tablas de
la aplicacion.
Una de ellas la uso para traer de la base de datos los vendedores en un
dataset que uso de transporte y luego llenar un ComboBox de la siguiente
manera:
this.vendedores = new Vendedores();
this.dsVendedores = new DataSet();
this.dsVendedores = this.vendedores.Llenar();
this.vendedor.DisplayMember = "NOMBRE";
this.vendedor.ValueMember = "ID";
this.vendedor.DataSource = this.dsVendedores.Tables[0].DefaultView;
Hasta aca todo bien, se llena el combo correctamente teniendo el campo
ID como value y el Nombre en Display.
Pero Cuando Creo otro objeto de otra clase similar pero para otra
entidad, al llamar al metodo this.movimientos.Llenar me rompe el
combobox de vendedores, mantiene su cantidad de registros, pero dice
System.DataRow, como si se perdieran sus datos.....
this.movimientos = new Movimientos();
this.dsMovimientos = new DataSet();
this.dsMovimientos =
this.movimientos.Llenar(Convert.ToInt32(this.vendedor.SelectedValue));
<<<< Rompe
No entiendo que es lo que sucede ya que son dos objetos diferentes. los
datasets no tienen relacion alguna y no son referenciados.
A su vez, la clase Movimientos y Vendedores usan otra clase, que se usa
de coneccion a la base de datos, quizas venga por ahi, pero no encuentro
nada.
Espero que se entienda el problema, Me podran dar alguna ayuda?
Saludos
Gustavo