Basecamente para el llenado de dbcombos desde datos del motor hacía algo como esto:
//---------------------------------------------------------- --------------------
METHOD SetElitabX( oSender ) CLASS TElitabX
local aData
::FoDbf:=TMemDataSet():New()
IF !empty(alltrim(::cSelect))
// Levanta los elementos y los ID de una tabla
aData:=AppData:oOdbcDS:QueryArray("select id, descripcion from tipoarticulo order by descripcion")
::oDBCombo:aItems := ArrayCol( aData, 1 )
::oDBCombo:aItemsBound := ArrayCol( aData, 2 )
ENDIF
::oDBCombo:oDataField := ::FoDataField
::oDBCombo:oDataSet := ::FoDbf
::FoDbf:Edit()
::FoDbf:Open(::oDBCombo:aItems)
RETURN Nil
Todo funciona hasta la linea en rojo que sale un error de que RECNO() no existe o algo así, si le quito dicha linea el combo se carga bien tanto en aItems como aItemsBound pero al presionar click en sel combo este no se abre y muestra la lista de elementos, los elementos están pero solo se vé uno y para cambiar de elemento hay que presionar una letra que coincida con alguno y va cambiando.
Algo que pasa tambien con las dbf si el componente no esta en modo edición.
Muchas gracias por la ayuda que me puedan brindar.
Carlos Ortiz.
--
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 oDBComboBox en Xailer 2
- Carlos Ortiz
- Mensajes: 873
- Registrado: Mié Jul 01, 2009 5:44 pm
- Ubicación: Argentina - Córdoba
- Contactar:
-
- Mensajes: 558
- Registrado: Mar Feb 09, 2010 2:26 pm
Problema con oDBComboBox en Xailer 2
Carlos:
Quizás esté equivocado pero por lógica la linea ::FoDbf:Edit() debería
estar después de hacer el Open, ya que no debería entrar en edición si
no está abierto.
José Ramón Castro
Carlos Ortiz escribió:
> Basecamente para el llenado de dbcombos desde datos del motor hacía algo
> como esto:
> //---------------------------------------------------------- --------------------
> METHOD SetElitabX( oSender ) CLASS TElitabX
> local aData
> ::FoDbf:=TMemDataSet():New()
> IF !empty(alltrim(::cSelect))
> // Levanta los elementos y los ID de una tabla
> aData:=AppData:oOdbcDS:QueryArray("select id, descripcion from
> tipoarticulo order by descripcion")
> ::oDBCombo:aItems := ArrayCol( aData, 1 )
> ::oDBCombo:aItemsBound := ArrayCol( aData, 2 )
> ENDIF
> ::oDBCombo:oDataField := ::FoDataField
> ::oDBCombo:oDataSet := ::FoDbf
> * ::FoDbf:Edit()
> * ::FoDbf:Open(::oDBCombo:aItems)
> RETURN Nil
>
> Todo funciona hasta la linea en rojo que sale un error de que RECNO() no
> existe o algo así, si le quito dicha linea el combo se carga bien tanto
> en aItems como aItemsBound pero al presionar click en sel combo este no
> se abre y muestra la lista de elementos, los elementos están pero solo
> se vé uno y para cambiar de elemento hay que presionar una letra que
> coincida con alguno y va cambiando.
> Algo que pasa tambien con las dbf si el componente no esta en modo edición.
>
> Muchas gracias por la ayuda que me puedan brindar.
> Carlos Ortiz.
Quizás esté equivocado pero por lógica la linea ::FoDbf:Edit() debería
estar después de hacer el Open, ya que no debería entrar en edición si
no está abierto.
José Ramón Castro
Carlos Ortiz escribió:
> Basecamente para el llenado de dbcombos desde datos del motor hacía algo
> como esto:
> //---------------------------------------------------------- --------------------
> METHOD SetElitabX( oSender ) CLASS TElitabX
> local aData
> ::FoDbf:=TMemDataSet():New()
> IF !empty(alltrim(::cSelect))
> // Levanta los elementos y los ID de una tabla
> aData:=AppData:oOdbcDS:QueryArray("select id, descripcion from
> tipoarticulo order by descripcion")
> ::oDBCombo:aItems := ArrayCol( aData, 1 )
> ::oDBCombo:aItemsBound := ArrayCol( aData, 2 )
> ENDIF
> ::oDBCombo:oDataField := ::FoDataField
> ::oDBCombo:oDataSet := ::FoDbf
> * ::FoDbf:Edit()
> * ::FoDbf:Open(::oDBCombo:aItems)
> RETURN Nil
>
> Todo funciona hasta la linea en rojo que sale un error de que RECNO() no
> existe o algo así, si le quito dicha linea el combo se carga bien tanto
> en aItems como aItemsBound pero al presionar click en sel combo este no
> se abre y muestra la lista de elementos, los elementos están pero solo
> se vé uno y para cambiar de elemento hay que presionar una letra que
> coincida con alguno y va cambiando.
> Algo que pasa tambien con las dbf si el componente no esta en modo edición.
>
> Muchas gracias por la ayuda que me puedan brindar.
> Carlos Ortiz.
- Carlos Ortiz
- Mensajes: 873
- Registrado: Mié Jul 01, 2009 5:44 pm
- Ubicación: Argentina - Córdoba
- Contactar:
Problema con oDBComboBox en Xailer 2
En la ayuda de MemDataSet indican hacerlo antes, inclusive en la versión
1.99 funciona perfecto.
Ahora en la 2 es como que ese método :edit no existe. Estoy pensando en
rehacer esa función que setea todos los combos usando DataSet en lugar de
memdataset, ya que debo tocar solo esa funcion SetElitab todo lo que tenemos
hecho volverá a funcionar.
Por el momento ningún combobox basado en memdataset nos funciona y la
aplicación da otros errores tambien aleatorios en createform linea 3, no se
que será por que en esa linea no hay nada.
Muchas gracias José.
1.99 funciona perfecto.
Ahora en la 2 es como que ese método :edit no existe. Estoy pensando en
rehacer esa función que setea todos los combos usando DataSet en lugar de
memdataset, ya que debo tocar solo esa funcion SetElitab todo lo que tenemos
hecho volverá a funcionar.
Por el momento ningún combobox basado en memdataset nos funciona y la
aplicación da otros errores tambien aleatorios en createform linea 3, no se
que será por que en esa linea no hay nada.
Muchas gracias José.
@dbfarma
www.dbfarma.com.ar
www.dbfarma.com.ar
-
- Mensajes: 558
- Registrado: Mar Feb 09, 2010 2:26 pm
Problema con oDBComboBox en Xailer 2
Saludos Carlos:
Carlos Ortiz escribió:
> En la ayuda de MemDataSet indican hacerlo antes, inclusive en la versión
> 1.99 funciona perfecto.
> Ahora en la 2 es como que ese método :edit no existe. Estoy pensando en
> rehacer esa función que setea todos los combos usando DataSet en lugar de
> memdataset, ya que debo tocar solo esa funcion SetElitab todo lo que tenemos
> hecho volverá a funcionar.
>
> Por el momento ningún combobox basado en memdataset nos funciona y la
> aplicación da otros errores tambien aleatorios en createform linea 3, no se
> que será por que en esa linea no hay nada.
Con respecto a el error de Createform sería conveniente que leas el hilo
que figura en el foro privado "Parametro lCreate no CreateForm()" mas o
menos viene a decir que se ha añadido el siguiente formato ::CreateForm(
..T. )
> Muchas gracias José.
>
>
José Ramón Castro.
Carlos Ortiz escribió:
> En la ayuda de MemDataSet indican hacerlo antes, inclusive en la versión
> 1.99 funciona perfecto.
> Ahora en la 2 es como que ese método :edit no existe. Estoy pensando en
> rehacer esa función que setea todos los combos usando DataSet en lugar de
> memdataset, ya que debo tocar solo esa funcion SetElitab todo lo que tenemos
> hecho volverá a funcionar.
>
> Por el momento ningún combobox basado en memdataset nos funciona y la
> aplicación da otros errores tambien aleatorios en createform linea 3, no se
> que será por que en esa linea no hay nada.
Con respecto a el error de Createform sería conveniente que leas el hilo
que figura en el foro privado "Parametro lCreate no CreateForm()" mas o
menos viene a decir que se ha añadido el siguiente formato ::CreateForm(
..T. )
> Muchas gracias José.
>
>
José Ramón Castro.
- Carlos Ortiz
- Mensajes: 873
- Registrado: Mié Jul 01, 2009 5:44 pm
- Ubicación: Argentina - Córdoba
- Contactar:
Problema con oDBComboBox en Xailer 2
Gracias José, mas o menos es eso el tema es que tengo una clase mas al medio
TAbm entre el FormFolder y los Abm propiamente dicho.
Muchas gracias igual.
"José Ramón Castro Polinio" <jrcpoli-quitarpara_envio]"@terra.es> escribió
en el mensaje news:4b2634f0$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Saludos Carlos:
>
> Carlos Ortiz escribió:
>> En la ayuda de MemDataSet indican hacerlo antes, inclusive en la versión
>> 1.99 funciona perfecto.
>> Ahora en la 2 es como que ese método :edit no existe. Estoy pensando en
>> rehacer esa función que setea todos los combos usando DataSet en lugar de
>> memdataset, ya que debo tocar solo esa funcion SetElitab todo lo que
>> tenemos hecho volverá a funcionar.
>>
>> Por el momento ningún combobox basado en memdataset nos funciona y la
>> aplicación da otros errores tambien aleatorios en createform linea 3, no
>> se que será por que en esa linea no hay nada.
> Con respecto a el error de Createform sería conveniente que leas el hilo
> que figura en el foro privado "Parametro lCreate no CreateForm()" mas o
> menos viene a decir que se ha añadido el siguiente formato ::CreateForm(
> .T. )
>
>> Muchas gracias José.
> José Ramón Castro.
TAbm entre el FormFolder y los Abm propiamente dicho.
Muchas gracias igual.
"José Ramón Castro Polinio" <jrcpoli-quitarpara_envio]"@terra.es> escribió
en el mensaje news:4b2634f0$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
> Saludos Carlos:
>
> Carlos Ortiz escribió:
>> En la ayuda de MemDataSet indican hacerlo antes, inclusive en la versión
>> 1.99 funciona perfecto.
>> Ahora en la 2 es como que ese método :edit no existe. Estoy pensando en
>> rehacer esa función que setea todos los combos usando DataSet en lugar de
>> memdataset, ya que debo tocar solo esa funcion SetElitab todo lo que
>> tenemos hecho volverá a funcionar.
>>
>> Por el momento ningún combobox basado en memdataset nos funciona y la
>> aplicación da otros errores tambien aleatorios en createform linea 3, no
>> se que será por que en esa linea no hay nada.
> Con respecto a el error de Createform sería conveniente que leas el hilo
> que figura en el foro privado "Parametro lCreate no CreateForm()" mas o
> menos viene a decir que se ha añadido el siguiente formato ::CreateForm(
> .T. )
>
>> Muchas gracias José.
> José Ramón Castro.
@dbfarma
www.dbfarma.com.ar
www.dbfarma.com.ar