Enlazar ComboBox

28/08/2006 - 04:38 por Javier | Informe spam
Hola amigos, resulta que tengo un formulario elazado a una tabla de
Productos y los Productos pertenecen a un departamento (tabla productos y
tabla departamentos)

yo deseo que en el combobox para seleccionar el departamento al que
pertenece el producto me muestre los nombres de los departamentos no los
codigos

se supone que si en datasource le pongo departamentosbindingsource en
displaymember le pongo el campo que contiene la descripcion del
departamento (en este caso "nombre") y en value member le pongo el campo
que contiene el codigo (en este caso "ID") el control deberia hacer el
resto

pero resulta que al ejecutar el formulario efectivamente me muestras las
descripciones al desplegar la lista pero al seleccionarla no me deja pasar
de campo como si no tuviera un valor valido y en lugar de escojer un item
de la lista escribo manualmente un ID valido ya me deja pasar

que me esta faltando hacer?

Alguien puede decirme correctamente que deberia poner en las propiedades

Datasource
Value members
Value members
Selected member

Deseo enlazar ese combobox entre dos tablas y en vez de mostrar el id mostrar
la descripcion correspondiente a ese id.
Noto que cuando en el combo figura el Id se desplazan los registros, pero
cuando
en el combo esta la descripcion se clavaaaaaaaa. Tampoco me deja hacer una
Alta.

Otra cosa que note es que cuando hice todo en un DataGridView anda bien,
pero bueno
no me sirve en ese control.

estoy trabajando con vs2005

Preguntas similare

Leer las respuestas

#1 Eduardo Alvarado Meza
28/08/2006 - 06:31 | Informe spam
Mencionastes el displaymember y el valuemember correctamente, pero donde
esta el selectedvalue que apunta a al campo IdDerpartamento de la tabla
productos?

Revisalo por ese lado, por ultimo recuerdo que hace unos 8 meses un combo me
dio un problema similar, era un bug porque todo estaba bien aunque no estaba
identificado por la microsoft y me fue imposible de reproducir asi que quedo
en el olvido, aunque la unica forma de deshacerme de el fue descartando el
formulario... no se que paso pero no creo que sea tu caso. Chequea tu combo
y avisame.

"Javier" escribió en el mensaje
news:

Hola amigos, resulta que tengo un formulario elazado a una tabla de
Productos y los Productos pertenecen a un departamento (tabla productos y
tabla departamentos)

yo deseo que en el combobox para seleccionar el departamento al que
pertenece el producto me muestre los nombres de los departamentos no los
codigos

se supone que si en datasource le pongo departamentosbindingsource en
displaymember le pongo el campo que contiene la descripcion del
departamento (en este caso "nombre") y en value member le pongo el campo
que contiene el codigo (en este caso "ID") el control deberia hacer el
resto

pero resulta que al ejecutar el formulario efectivamente me muestras las
descripciones al desplegar la lista pero al seleccionarla no me deja pasar
de campo como si no tuviera un valor valido y en lugar de escojer un item
de la lista escribo manualmente un ID valido ya me deja pasar

que me esta faltando hacer?

Alguien puede decirme correctamente que deberia poner en las propiedades

Datasource
Value members
Value members
Selected member

Deseo enlazar ese combobox entre dos tablas y en vez de mostrar el id
mostrar
la descripcion correspondiente a ese id.
Noto que cuando en el combo figura el Id se desplazan los registros, pero
cuando
en el combo esta la descripcion se clavaaaaaaaa. Tampoco me deja hacer una
Alta.

Otra cosa que note es que cuando hice todo en un DataGridView anda bien,
pero bueno
no me sirve en ese control.

estoy trabajando con vs2005
Respuesta Responder a este mensaje
#2 Javier
28/08/2006 - 09:35 | Informe spam
Te aclaro mas la situacion a ver si me podes ayudar, ok?
tendo dos tablas cuyos campos son

Id_Contacto
Nombre
Pais

Id_Pais
Descripcion
la relacion esta hecha entre Pais->Id_Pais

La idea es hacer un ABM de contactos, entonces el combo en cuestion deberia
contener la Descrepcion del Pais y no el Id_Pais ok?
Configure el combo asi

DataSource = PaisBindingSource
Displaymembers = Descripcion
Value members = Id_Pais
SelectedValue = Pais

Ahora bien, en este mismo formulario hay un Bindinig Navigator, y es
justamente aca donde esta el problema, por ejemplo a la hora de hacer un
ALTA, porque si coloco por ejemplo Argentina, SE CLAVA TODOOOOOOOOOOOOOOO,
solo admite de entrada para el ALTA un Id, es decir el del campo Pais.

Esto no esta sucendiendo cuando trabajas con el DATAGRIDVIEW, o sea que no
se que hacer porque los pasos parecen correctos, pero aca el drama es el
DATANAVIGATOR, porque cuando intento hacer un ALTA, se tilda todo si no
ingreso en el combo un Id. La idea justamente es que no haya que ingresar un
Id, sino que el usuario elija un pais del combo y este por medio de la
relacion busque y grabe el id correspondiente. Se entendio?, ojala que si
porque me esta volviendo loco

Gracias
Respuesta Responder a este mensaje
#3 Eduardo Alvarado Meza
28/08/2006 - 23:26 | Informe spam
Vamos a ver.. lo voy a probar con databind y un datanavigator con una
pequeña tabla en access y te lo paso para que compares... porque todo a como
dices esta BIEN.
Respuesta Responder a este mensaje
#4 Eduardo Alvarado Meza
28/08/2006 - 23:56 | Informe spam
Javier ya lo hice, usando puramente el asistente y unas dos lineas
adicionales para llenar la tabla pais.
Te puedo decir que el comportamiento que reportastes me aparecio, en lugar
de la descripcion me ponia el codigo, eso es porque por defecto enlaza la
propiedad Text al codigo del pais.

Aqui te lo pongo para que salgas de dudas...compara y elimina tus dudas.
http://www.ibw.com.ni/~eduardom/Combo.zip


"Javier" escribió en el mensaje
news:
Te aclaro mas la situacion a ver si me podes ayudar, ok?
tendo dos tablas cuyos campos son

Id_Contacto
Nombre
Pais

Id_Pais
Descripcion
la relacion esta hecha entre Pais->Id_Pais

La idea es hacer un ABM de contactos, entonces el combo en cuestion
deberia
contener la Descrepcion del Pais y no el Id_Pais ok?
Configure el combo asi

DataSource = PaisBindingSource
Displaymembers = Descripcion
Value members = Id_Pais
SelectedValue = Pais

Ahora bien, en este mismo formulario hay un Bindinig Navigator, y es
justamente aca donde esta el problema, por ejemplo a la hora de hacer un
ALTA, porque si coloco por ejemplo Argentina, SE CLAVA TODOOOOOOOOOOOOOOO,
solo admite de entrada para el ALTA un Id, es decir el del campo Pais.

Esto no esta sucendiendo cuando trabajas con el DATAGRIDVIEW, o sea que no
se que hacer porque los pasos parecen correctos, pero aca el drama es el
DATANAVIGATOR, porque cuando intento hacer un ALTA, se tilda todo si no
ingreso en el combo un Id. La idea justamente es que no haya que ingresar
un
Id, sino que el usuario elija un pais del combo y este por medio de la
relacion busque y grabe el id correspondiente. Se entendio?, ojala que si
porque me esta volviendo loco

Gracias
Respuesta Responder a este mensaje
#5 Javier
29/08/2006 - 04:31 | Informe spam
Ante todo agradecerte por tu tiempo, y segundo decirte que lo probe y esta
funcionando, y te dire que hubo de diferente entre lo que me mandaste y yo
tenia

DataSource yo lo elejia de: Other Data Source -- > Projects Data Sources, y
ahora utlice o eleji Other Data Source > Form1 list Instancias.

y en segundo agregue estas dos lineas

Private PaisTableAdapter As New
TestCombo.MyDataSetTableAdapters.PaisTableAdapter

Me.PaisTableAdapter.Fill(Me.MyDataSet.Pais)

y asi se soluciono, pero podrias explicarme que hace estas dos lineas????????

Te agradezco mucho.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida