HASTA AHORITA AHI LA LLEVO CON XAILER, PEROOOOOOOOOO, ! COMO SE ME COMPLICA
CON ESTOS COMBOBOX!.
TENGO UNA TABLA LLAMADA ARTICULOS, EN LA CUAL TENGO LOS SIGUIENTES CAMPOS.
CODIGO (TIPO CARACTER Y LONGITUD DE 20)
PRECIO (TIPO NUMERICO Y LONG DE 9 CON 2 DECIMALES)
CUANDO ESTE CAMPO LO PONGO EN UN TDBCOMBOBOX LO HAGO DE LA SIGUIENTE FORMA.
METHOD codigoCreate( oSender ) CLASS mov_articulos
::Midataset:Edit()
oSender:aItems := ::::Midataset:SaveToArray( "codigo" )
RETURN Nil
HASTA AQUI TODO FUNCIONA BIEN.
Y UTILIZO EL EVENTO CHANGE
HACIENDO LO SIGUIENTE:
METHOD codigoChange( oSender, nIndex, nOldIndex ) CLASS mov_articulos
::precio:value=::Midataset:precio
RETURN Nil
PERO NO ME DA EL PRECIO CORRESPONDIENTE AL CODIGO SELECCIONADO.
POR FAVOR ALGUIEN QUE MANEJE BIEN ESTO DE LOS COMBOBOX LES PIDO ME APOYEN.
NOTA.
SIN OFENDER A LOS CREADORES DE XAILER, CREO QUE DEBERIAN HACER ALGO PARA
HACER MAS FACIL LA UTILIZACION DE LOS COMBOBOX.
LES INVITO QUE LE DEN UN VISTASO A VISUAL FOXPRO 9, EN ESTE LENGUAJE ES
MUCHO MAS FACIL Y RAPIDO PARA PRESENTAR LA INFORMACION CONTENIDA EN UN
CAMPO.
IMAGINENSE SI TUVIERA 500,000 REGISTROS EN SIERTO CAMPO Y QUISIERA
PRESENTARLOS EN UN COMBOBOX, ESTO SERIA LENTO.
OJO.
YA NO ESTOY PROGRAMANDO EN VISUL FOXPRO, AHORA ESTOY PROGRAMANDO CON XAILER
TODAS LAS APLICACIONES QUE TENGO EN FOXPRO.
MIS DISCULPAS Y GRACIAS.
In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
PROBLEMA CON TDBCOMBOBOX
-
- Mensajes: 136
- Registrado: Jue Jul 05, 2007 4:52 am
-
- Mensajes: 1831
- Registrado: Mar Oct 11, 2005 9:53 am
PROBLEMA CON TDBCOMBOBOX
> METHOD codigoChange( oSender, nIndex, nOldIndex ) CLASS mov_articulos
Midataset:Seek(oSender:cText)
> ::precio:value=::Midataset:precio
> RETURN Nil
No veo que mandes a buscar el valor seleccionado.
Saludos.
--
Ramón Zea
01.993.194.14.27
http://www.paginasprodigy.com/zeasoftware/
zeasoftware@prodigy.net.mx
zeasoftware@hotmail.com
ramonzea@yahoo.com
zeasoft.movil@hotmail.com
"PEDRO DE LEON RODAS" <deleonpe@terra.com.mx> escribió en el mensaje news:[email=46f865db@ozsrv2.ozlan.local...]46f865db@ozsrv2.ozlan.local...[/email]
> HASTA AHORITA AHI LA LLEVO CON XAILER, PEROOOOOOOOOO, ! COMO SE ME COMPLICA
> CON ESTOS COMBOBOX!.
>
> TENGO UNA TABLA LLAMADA ARTICULOS, EN LA CUAL TENGO LOS SIGUIENTES CAMPOS.
>
> CODIGO (TIPO CARACTER Y LONGITUD DE 20)
> PRECIO (TIPO NUMERICO Y LONG DE 9 CON 2 DECIMALES)
>
> CUANDO ESTE CAMPO LO PONGO EN UN TDBCOMBOBOX LO HAGO DE LA SIGUIENTE FORMA.
>
>
> METHOD codigoCreate( oSender ) CLASS mov_articulos
>
> ::Midataset:Edit()
> oSender:aItems := ::::Midataset:SaveToArray( "codigo" )
> RETURN Nil
>
> HASTA AQUI TODO FUNCIONA BIEN.
> Y UTILIZO EL EVENTO CHANGE
> HACIENDO LO SIGUIENTE:
>
> METHOD codigoChange( oSender, nIndex, nOldIndex ) CLASS mov_articulos
> ::precio:value=::Midataset:precio
> RETURN Nil
>
> PERO NO ME DA EL PRECIO CORRESPONDIENTE AL CODIGO SELECCIONADO.
>
> POR FAVOR ALGUIEN QUE MANEJE BIEN ESTO DE LOS COMBOBOX LES PIDO ME APOYEN.
>
> NOTA.
>
> SIN OFENDER A LOS CREADORES DE XAILER, CREO QUE DEBERIAN HACER ALGO PARA
> HACER MAS FACIL LA UTILIZACION DE LOS COMBOBOX.
>
> LES INVITO QUE LE DEN UN VISTASO A VISUAL FOXPRO 9, EN ESTE LENGUAJE ES
> MUCHO MAS FACIL Y RAPIDO PARA PRESENTAR LA INFORMACION CONTENIDA EN UN
> CAMPO.
>
> IMAGINENSE SI TUVIERA 500,000 REGISTROS EN SIERTO CAMPO Y QUISIERA
> PRESENTARLOS EN UN COMBOBOX, ESTO SERIA LENTO.
>
> OJO.
> YA NO ESTOY PROGRAMANDO EN VISUL FOXPRO, AHORA ESTOY PROGRAMANDO CON XAILER
> TODAS LAS APLICACIONES QUE TENGO EN FOXPRO.
>
> MIS DISCULPAS Y GRACIAS.
>
>
>
>
>
>
>
>
--
Midataset:Seek(oSender:cText)
> ::precio:value=::Midataset:precio
> RETURN Nil
No veo que mandes a buscar el valor seleccionado.
Saludos.
--
Ramón Zea
01.993.194.14.27
http://www.paginasprodigy.com/zeasoftware/
zeasoftware@prodigy.net.mx
zeasoftware@hotmail.com
ramonzea@yahoo.com
zeasoft.movil@hotmail.com
"PEDRO DE LEON RODAS" <deleonpe@terra.com.mx> escribió en el mensaje news:[email=46f865db@ozsrv2.ozlan.local...]46f865db@ozsrv2.ozlan.local...[/email]
> HASTA AHORITA AHI LA LLEVO CON XAILER, PEROOOOOOOOOO, ! COMO SE ME COMPLICA
> CON ESTOS COMBOBOX!.
>
> TENGO UNA TABLA LLAMADA ARTICULOS, EN LA CUAL TENGO LOS SIGUIENTES CAMPOS.
>
> CODIGO (TIPO CARACTER Y LONGITUD DE 20)
> PRECIO (TIPO NUMERICO Y LONG DE 9 CON 2 DECIMALES)
>
> CUANDO ESTE CAMPO LO PONGO EN UN TDBCOMBOBOX LO HAGO DE LA SIGUIENTE FORMA.
>
>
> METHOD codigoCreate( oSender ) CLASS mov_articulos
>
> ::Midataset:Edit()
> oSender:aItems := ::::Midataset:SaveToArray( "codigo" )
> RETURN Nil
>
> HASTA AQUI TODO FUNCIONA BIEN.
> Y UTILIZO EL EVENTO CHANGE
> HACIENDO LO SIGUIENTE:
>
> METHOD codigoChange( oSender, nIndex, nOldIndex ) CLASS mov_articulos
> ::precio:value=::Midataset:precio
> RETURN Nil
>
> PERO NO ME DA EL PRECIO CORRESPONDIENTE AL CODIGO SELECCIONADO.
>
> POR FAVOR ALGUIEN QUE MANEJE BIEN ESTO DE LOS COMBOBOX LES PIDO ME APOYEN.
>
> NOTA.
>
> SIN OFENDER A LOS CREADORES DE XAILER, CREO QUE DEBERIAN HACER ALGO PARA
> HACER MAS FACIL LA UTILIZACION DE LOS COMBOBOX.
>
> LES INVITO QUE LE DEN UN VISTASO A VISUAL FOXPRO 9, EN ESTE LENGUAJE ES
> MUCHO MAS FACIL Y RAPIDO PARA PRESENTAR LA INFORMACION CONTENIDA EN UN
> CAMPO.
>
> IMAGINENSE SI TUVIERA 500,000 REGISTROS EN SIERTO CAMPO Y QUISIERA
> PRESENTARLOS EN UN COMBOBOX, ESTO SERIA LENTO.
>
> OJO.
> YA NO ESTOY PROGRAMANDO EN VISUL FOXPRO, AHORA ESTOY PROGRAMANDO CON XAILER
> TODAS LAS APLICACIONES QUE TENGO EN FOXPRO.
>
> MIS DISCULPAS Y GRACIAS.
>
>
>
>
>
>
>
>
--
Ramón Zea
Móvil: 01-993-231-62-29
ramonzea@yahoo.com
zeasoftware@hotmail.com
zeasoft.movil@hotmail.com
http://www.paginasprodigy.com/zeasoftware/
Móvil: 01-993-231-62-29
ramonzea@yahoo.com
zeasoftware@hotmail.com
zeasoft.movil@hotmail.com
http://www.paginasprodigy.com/zeasoftware/
PROBLEMA CON TDBCOMBOBOX
No respondo a tu cuestion, pero....
>
> IMAGINENSE SI TUVIERA 500,000 REGISTROS EN SIERTO CAMPO Y QUISIERA
> PRESENTARLOS EN UN COMBOBOX, ESTO SERIA LENTO.
>
Hacer eso en un ComboBox es una barbaridad muy bárbara.... El usuario se
podría vover loco para encontrar lo que necesita.
De hecho los comboboxes no deberían ser usados si tiene más de 10-15
opciones, lo mejor es crear un diálogo con un browse de selección.
Saludos
Jose A. Suarez
>
> IMAGINENSE SI TUVIERA 500,000 REGISTROS EN SIERTO CAMPO Y QUISIERA
> PRESENTARLOS EN UN COMBOBOX, ESTO SERIA LENTO.
>
Hacer eso en un ComboBox es una barbaridad muy bárbara.... El usuario se
podría vover loco para encontrar lo que necesita.
De hecho los comboboxes no deberían ser usados si tiene más de 10-15
opciones, lo mejor es crear un diálogo con un browse de selección.
Saludos
Jose A. Suarez
- ignacio
- Site Admin
- Mensajes: 9459
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
PROBLEMA CON TDBCOMBOBOX
Pedro,
El TDBComboBox se enlaza con el campo que usted le indique EN SU VALOR, NO
EN LOS ELEMENTOS QUE LO COMPONEN. Podriamos haber hecho que además la lista
de elementos se rellenase con el campo de otro dataset, pero nos parecio
sencillamente poco útil y sobre todo provocaría desconcierto entre los
usuarios la existencia de dos propiedades más.
Estoy con José Alfonso cuando dice que es una barbaridad muy barbara el
mostrar un combobox con tantos elementos, y en cualquier caso, no se
confunda, desconozco VFP pero le aseguro que si utiliza Comboboxes estándar
(que seguro que así es) necesariamente tiene que cargar la totalidad de
elementos de la tabla en la matriz que muestra el ComboBox, por lo tanto los
presuntos problemas de velocidad que indica con tablas grandes se han de
producir exactamente igual que con Xailer.
El evento OnChange se evalua antes de que el valor del Combo cambie, PERO su
parametro NINDEX y NOLDINDEX le indican claramente el actual y nuevo valor
que tendrá el Combo, por lo tanto su código cambiaría de la siguiente forma:
METHOD codigoChange( oSender, nIndex, nOldIndex ) CLASS mov_articulos
IF ::Precio:Seek( oSender:aItems[ nIndex ] )
::precio:value=::Midataset:precio
ENDIF
RETURN Nil
Por otra parte usted está presumiendo que cada vez que se cambia el valor
del ComboBox, el dataset está cambiando de registro y no es cierto.
Un saludo
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"PEDRO DE LEON RODAS" <deleonpe@terra.com.mx> escribió en el mensaje
news:[email=46f865db@ozsrv2.ozlan.local...]46f865db@ozsrv2.ozlan.local...[/email]
> HASTA AHORITA AHI LA LLEVO CON XAILER, PEROOOOOOOOOO, ! COMO SE ME
> COMPLICA CON ESTOS COMBOBOX!.
>
> TENGO UNA TABLA LLAMADA ARTICULOS, EN LA CUAL TENGO LOS SIGUIENTES
> CAMPOS.
>
> CODIGO (TIPO CARACTER Y LONGITUD DE 20)
> PRECIO (TIPO NUMERICO Y LONG DE 9 CON 2 DECIMALES)
>
> CUANDO ESTE CAMPO LO PONGO EN UN TDBCOMBOBOX LO HAGO DE LA SIGUIENTE
> FORMA.
>
>
> METHOD codigoCreate( oSender ) CLASS mov_articulos
>
> ::Midataset:Edit()
> oSender:aItems := ::::Midataset:SaveToArray( "codigo" )
> RETURN Nil
>
> HASTA AQUI TODO FUNCIONA BIEN.
> Y UTILIZO EL EVENTO CHANGE
> HACIENDO LO SIGUIENTE:
>
> METHOD codigoChange( oSender, nIndex, nOldIndex ) CLASS mov_articulos
> ::precio:value=::Midataset:precio
> RETURN Nil
>
> PERO NO ME DA EL PRECIO CORRESPONDIENTE AL CODIGO SELECCIONADO.
>
> POR FAVOR ALGUIEN QUE MANEJE BIEN ESTO DE LOS COMBOBOX LES PIDO ME APOYEN.
>
> NOTA.
>
> SIN OFENDER A LOS CREADORES DE XAILER, CREO QUE DEBERIAN HACER ALGO PARA
> HACER MAS FACIL LA UTILIZACION DE LOS COMBOBOX.
>
> LES INVITO QUE LE DEN UN VISTASO A VISUAL FOXPRO 9, EN ESTE LENGUAJE ES
> MUCHO MAS FACIL Y RAPIDO PARA PRESENTAR LA INFORMACION CONTENIDA EN UN
> CAMPO.
>
> IMAGINENSE SI TUVIERA 500,000 REGISTROS EN SIERTO CAMPO Y QUISIERA
> PRESENTARLOS EN UN COMBOBOX, ESTO SERIA LENTO.
>
> OJO.
> YA NO ESTOY PROGRAMANDO EN VISUL FOXPRO, AHORA ESTOY PROGRAMANDO CON
> XAILER TODAS LAS APLICACIONES QUE TENGO EN FOXPRO.
>
> MIS DISCULPAS Y GRACIAS.
>
>
>
>
>
>
>
>
El TDBComboBox se enlaza con el campo que usted le indique EN SU VALOR, NO
EN LOS ELEMENTOS QUE LO COMPONEN. Podriamos haber hecho que además la lista
de elementos se rellenase con el campo de otro dataset, pero nos parecio
sencillamente poco útil y sobre todo provocaría desconcierto entre los
usuarios la existencia de dos propiedades más.
Estoy con José Alfonso cuando dice que es una barbaridad muy barbara el
mostrar un combobox con tantos elementos, y en cualquier caso, no se
confunda, desconozco VFP pero le aseguro que si utiliza Comboboxes estándar
(que seguro que así es) necesariamente tiene que cargar la totalidad de
elementos de la tabla en la matriz que muestra el ComboBox, por lo tanto los
presuntos problemas de velocidad que indica con tablas grandes se han de
producir exactamente igual que con Xailer.
El evento OnChange se evalua antes de que el valor del Combo cambie, PERO su
parametro NINDEX y NOLDINDEX le indican claramente el actual y nuevo valor
que tendrá el Combo, por lo tanto su código cambiaría de la siguiente forma:
METHOD codigoChange( oSender, nIndex, nOldIndex ) CLASS mov_articulos
IF ::Precio:Seek( oSender:aItems[ nIndex ] )
::precio:value=::Midataset:precio
ENDIF
RETURN Nil
Por otra parte usted está presumiendo que cada vez que se cambia el valor
del ComboBox, el dataset está cambiando de registro y no es cierto.
Un saludo
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"PEDRO DE LEON RODAS" <deleonpe@terra.com.mx> escribió en el mensaje
news:[email=46f865db@ozsrv2.ozlan.local...]46f865db@ozsrv2.ozlan.local...[/email]
> HASTA AHORITA AHI LA LLEVO CON XAILER, PEROOOOOOOOOO, ! COMO SE ME
> COMPLICA CON ESTOS COMBOBOX!.
>
> TENGO UNA TABLA LLAMADA ARTICULOS, EN LA CUAL TENGO LOS SIGUIENTES
> CAMPOS.
>
> CODIGO (TIPO CARACTER Y LONGITUD DE 20)
> PRECIO (TIPO NUMERICO Y LONG DE 9 CON 2 DECIMALES)
>
> CUANDO ESTE CAMPO LO PONGO EN UN TDBCOMBOBOX LO HAGO DE LA SIGUIENTE
> FORMA.
>
>
> METHOD codigoCreate( oSender ) CLASS mov_articulos
>
> ::Midataset:Edit()
> oSender:aItems := ::::Midataset:SaveToArray( "codigo" )
> RETURN Nil
>
> HASTA AQUI TODO FUNCIONA BIEN.
> Y UTILIZO EL EVENTO CHANGE
> HACIENDO LO SIGUIENTE:
>
> METHOD codigoChange( oSender, nIndex, nOldIndex ) CLASS mov_articulos
> ::precio:value=::Midataset:precio
> RETURN Nil
>
> PERO NO ME DA EL PRECIO CORRESPONDIENTE AL CODIGO SELECCIONADO.
>
> POR FAVOR ALGUIEN QUE MANEJE BIEN ESTO DE LOS COMBOBOX LES PIDO ME APOYEN.
>
> NOTA.
>
> SIN OFENDER A LOS CREADORES DE XAILER, CREO QUE DEBERIAN HACER ALGO PARA
> HACER MAS FACIL LA UTILIZACION DE LOS COMBOBOX.
>
> LES INVITO QUE LE DEN UN VISTASO A VISUAL FOXPRO 9, EN ESTE LENGUAJE ES
> MUCHO MAS FACIL Y RAPIDO PARA PRESENTAR LA INFORMACION CONTENIDA EN UN
> CAMPO.
>
> IMAGINENSE SI TUVIERA 500,000 REGISTROS EN SIERTO CAMPO Y QUISIERA
> PRESENTARLOS EN UN COMBOBOX, ESTO SERIA LENTO.
>
> OJO.
> YA NO ESTOY PROGRAMANDO EN VISUL FOXPRO, AHORA ESTOY PROGRAMANDO CON
> XAILER TODAS LAS APLICACIONES QUE TENGO EN FOXPRO.
>
> MIS DISCULPAS Y GRACIAS.
>
>
>
>
>
>
>
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
- ignacio
- Site Admin
- Mensajes: 9459
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
PROBLEMA CON TDBCOMBOBOX
Correción al código:
METHOD codigoChange( oSender, nIndex, nOldIndex ) CLASS mov_articulos
IF ::Midataset:Seek( oSender:aItems[ nIndex ] )
::precio:value=::Midataset:precio
ENDIF
RETURN Nil
Saludos,
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
news:46f8bedc$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Pedro,
>
> El TDBComboBox se enlaza con el campo que usted le indique EN SU VALOR, NO
> EN LOS ELEMENTOS QUE LO COMPONEN. Podriamos haber hecho que además la
> lista de elementos se rellenase con el campo de otro dataset, pero nos
> parecio sencillamente poco útil y sobre todo provocaría desconcierto entre
> los usuarios la existencia de dos propiedades más.
>
> Estoy con José Alfonso cuando dice que es una barbaridad muy barbara el
> mostrar un combobox con tantos elementos, y en cualquier caso, no se
> confunda, desconozco VFP pero le aseguro que si utiliza Comboboxes
> estándar (que seguro que así es) necesariamente tiene que cargar la
> totalidad de elementos de la tabla en la matriz que muestra el ComboBox,
> por lo tanto los presuntos problemas de velocidad que indica con tablas
> grandes se han de producir exactamente igual que con Xailer.
>
> El evento OnChange se evalua antes de que el valor del Combo cambie, PERO
> su parametro NINDEX y NOLDINDEX le indican claramente el actual y nuevo
> valor que tendrá el Combo, por lo tanto su código cambiaría de la
> siguiente forma:
>
> METHOD codigoChange( oSender, nIndex, nOldIndex ) CLASS mov_articulos
> IF ::Precio:Seek( oSender:aItems[ nIndex ] )
> ::precio:value=::Midataset:precio
> ENDIF
> RETURN Nil
>
> Por otra parte usted está presumiendo que cada vez que se cambia el valor
> del ComboBox, el dataset está cambiando de registro y no es cierto.
>
> Un saludo
>
> --
> Ignacio Ortiz de Zúñiga
> http://www.xailer.com
>
>
> "PEDRO DE LEON RODAS" <deleonpe@terra.com.mx> escribió en el mensaje
> news:[email=46f865db@ozsrv2.ozlan.local...]46f865db@ozsrv2.ozlan.local...[/email]
>> HASTA AHORITA AHI LA LLEVO CON XAILER, PEROOOOOOOOOO, ! COMO SE ME
>> COMPLICA CON ESTOS COMBOBOX!.
>>
>> TENGO UNA TABLA LLAMADA ARTICULOS, EN LA CUAL TENGO LOS SIGUIENTES
>> CAMPOS.
>>
>> CODIGO (TIPO CARACTER Y LONGITUD DE 20)
>> PRECIO (TIPO NUMERICO Y LONG DE 9 CON 2 DECIMALES)
>>
>> CUANDO ESTE CAMPO LO PONGO EN UN TDBCOMBOBOX LO HAGO DE LA SIGUIENTE
>> FORMA.
>>
>>
>> METHOD codigoCreate( oSender ) CLASS mov_articulos
>>
>> ::Midataset:Edit()
>> oSender:aItems := ::::Midataset:SaveToArray( "codigo" )
>> RETURN Nil
>>
>> HASTA AQUI TODO FUNCIONA BIEN.
>> Y UTILIZO EL EVENTO CHANGE
>> HACIENDO LO SIGUIENTE:
>>
>> METHOD codigoChange( oSender, nIndex, nOldIndex ) CLASS mov_articulos
>> ::precio:value=::Midataset:precio
>> RETURN Nil
>>
>> PERO NO ME DA EL PRECIO CORRESPONDIENTE AL CODIGO SELECCIONADO.
>>
>> POR FAVOR ALGUIEN QUE MANEJE BIEN ESTO DE LOS COMBOBOX LES PIDO ME
>> APOYEN.
>>
>> NOTA.
>>
>> SIN OFENDER A LOS CREADORES DE XAILER, CREO QUE DEBERIAN HACER ALGO PARA
>> HACER MAS FACIL LA UTILIZACION DE LOS COMBOBOX.
>>
>> LES INVITO QUE LE DEN UN VISTASO A VISUAL FOXPRO 9, EN ESTE LENGUAJE ES
>> MUCHO MAS FACIL Y RAPIDO PARA PRESENTAR LA INFORMACION CONTENIDA EN UN
>> CAMPO.
>>
>> IMAGINENSE SI TUVIERA 500,000 REGISTROS EN SIERTO CAMPO Y QUISIERA
>> PRESENTARLOS EN UN COMBOBOX, ESTO SERIA LENTO.
>>
>> OJO.
>> YA NO ESTOY PROGRAMANDO EN VISUL FOXPRO, AHORA ESTOY PROGRAMANDO CON
>> XAILER TODAS LAS APLICACIONES QUE TENGO EN FOXPRO.
>>
>> MIS DISCULPAS Y GRACIAS.
>>
>>
>>
>>
>>
>>
>>
>>
>
>
METHOD codigoChange( oSender, nIndex, nOldIndex ) CLASS mov_articulos
IF ::Midataset:Seek( oSender:aItems[ nIndex ] )
::precio:value=::Midataset:precio
ENDIF
RETURN Nil
Saludos,
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Ignacio Ortiz de Zúñiga" <NoName@xailer.com> escribió en el mensaje
news:46f8bedc$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Pedro,
>
> El TDBComboBox se enlaza con el campo que usted le indique EN SU VALOR, NO
> EN LOS ELEMENTOS QUE LO COMPONEN. Podriamos haber hecho que además la
> lista de elementos se rellenase con el campo de otro dataset, pero nos
> parecio sencillamente poco útil y sobre todo provocaría desconcierto entre
> los usuarios la existencia de dos propiedades más.
>
> Estoy con José Alfonso cuando dice que es una barbaridad muy barbara el
> mostrar un combobox con tantos elementos, y en cualquier caso, no se
> confunda, desconozco VFP pero le aseguro que si utiliza Comboboxes
> estándar (que seguro que así es) necesariamente tiene que cargar la
> totalidad de elementos de la tabla en la matriz que muestra el ComboBox,
> por lo tanto los presuntos problemas de velocidad que indica con tablas
> grandes se han de producir exactamente igual que con Xailer.
>
> El evento OnChange se evalua antes de que el valor del Combo cambie, PERO
> su parametro NINDEX y NOLDINDEX le indican claramente el actual y nuevo
> valor que tendrá el Combo, por lo tanto su código cambiaría de la
> siguiente forma:
>
> METHOD codigoChange( oSender, nIndex, nOldIndex ) CLASS mov_articulos
> IF ::Precio:Seek( oSender:aItems[ nIndex ] )
> ::precio:value=::Midataset:precio
> ENDIF
> RETURN Nil
>
> Por otra parte usted está presumiendo que cada vez que se cambia el valor
> del ComboBox, el dataset está cambiando de registro y no es cierto.
>
> Un saludo
>
> --
> Ignacio Ortiz de Zúñiga
> http://www.xailer.com
>
>
> "PEDRO DE LEON RODAS" <deleonpe@terra.com.mx> escribió en el mensaje
> news:[email=46f865db@ozsrv2.ozlan.local...]46f865db@ozsrv2.ozlan.local...[/email]
>> HASTA AHORITA AHI LA LLEVO CON XAILER, PEROOOOOOOOOO, ! COMO SE ME
>> COMPLICA CON ESTOS COMBOBOX!.
>>
>> TENGO UNA TABLA LLAMADA ARTICULOS, EN LA CUAL TENGO LOS SIGUIENTES
>> CAMPOS.
>>
>> CODIGO (TIPO CARACTER Y LONGITUD DE 20)
>> PRECIO (TIPO NUMERICO Y LONG DE 9 CON 2 DECIMALES)
>>
>> CUANDO ESTE CAMPO LO PONGO EN UN TDBCOMBOBOX LO HAGO DE LA SIGUIENTE
>> FORMA.
>>
>>
>> METHOD codigoCreate( oSender ) CLASS mov_articulos
>>
>> ::Midataset:Edit()
>> oSender:aItems := ::::Midataset:SaveToArray( "codigo" )
>> RETURN Nil
>>
>> HASTA AQUI TODO FUNCIONA BIEN.
>> Y UTILIZO EL EVENTO CHANGE
>> HACIENDO LO SIGUIENTE:
>>
>> METHOD codigoChange( oSender, nIndex, nOldIndex ) CLASS mov_articulos
>> ::precio:value=::Midataset:precio
>> RETURN Nil
>>
>> PERO NO ME DA EL PRECIO CORRESPONDIENTE AL CODIGO SELECCIONADO.
>>
>> POR FAVOR ALGUIEN QUE MANEJE BIEN ESTO DE LOS COMBOBOX LES PIDO ME
>> APOYEN.
>>
>> NOTA.
>>
>> SIN OFENDER A LOS CREADORES DE XAILER, CREO QUE DEBERIAN HACER ALGO PARA
>> HACER MAS FACIL LA UTILIZACION DE LOS COMBOBOX.
>>
>> LES INVITO QUE LE DEN UN VISTASO A VISUAL FOXPRO 9, EN ESTE LENGUAJE ES
>> MUCHO MAS FACIL Y RAPIDO PARA PRESENTAR LA INFORMACION CONTENIDA EN UN
>> CAMPO.
>>
>> IMAGINENSE SI TUVIERA 500,000 REGISTROS EN SIERTO CAMPO Y QUISIERA
>> PRESENTARLOS EN UN COMBOBOX, ESTO SERIA LENTO.
>>
>> OJO.
>> YA NO ESTOY PROGRAMANDO EN VISUL FOXPRO, AHORA ESTOY PROGRAMANDO CON
>> XAILER TODAS LAS APLICACIONES QUE TENGO EN FOXPRO.
>>
>> MIS DISCULPAS Y GRACIAS.
>>
>>
>>
>>
>>
>>
>>
>>
>
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com