Página 1 de 1
Problema con oDBComboBox en Xailer 2
Publicado: Dom Dic 13, 2009 4:38 am
por Carlos Ortiz
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.
--
Problema con oDBComboBox en Xailer 2
Publicado: Dom Dic 13, 2009 1:20 pm
por jrcpoli-quitar
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.
Problema con oDBComboBox en Xailer 2
Publicado: Lun Dic 14, 2009 5:51 am
por Carlos Ortiz
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é.
Problema con oDBComboBox en Xailer 2
Publicado: Lun Dic 14, 2009 1:51 pm
por jrcpoli-quitar
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.
Problema con oDBComboBox en Xailer 2
Publicado: Lun Dic 14, 2009 5:38 pm
por Carlos Ortiz
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.