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




Responder a