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.
Duda con edición de ListBox en columna de un browse
-
- Mensajes: 1310
- Registrado: Mié Sep 26, 2007 7:12 pm
Duda con edición de ListBox en columna de un browse
Buenas compañeros.
A ver si alguien sabe por que pasa lo siguiente.
Tengo un DbBrowse con una columna que tiene nEditType=beLISTBOX y le he
asignado una lista de nombres en un aEditListText y otra lista de
códigos en aEditListBound, al igual que hago con muchos ComboBox.
Funcionar funciona pero en el browse me enseña los códigos, al añadir o
editar me saca los nombres y al salir de la edición me muestra el código.
Lo mismo que haría un ComboBox si no indico nDataType=dtBOUND pero aquí
no hay manera de asignar esta propiedad puesto que no existe.
Debería de existir esta propiedad o tengo que hacer algun truco para ver
los nombres.
Gracias y Salu2.
A ver si alguien sabe por que pasa lo siguiente.
Tengo un DbBrowse con una columna que tiene nEditType=beLISTBOX y le he
asignado una lista de nombres en un aEditListText y otra lista de
códigos en aEditListBound, al igual que hago con muchos ComboBox.
Funcionar funciona pero en el browse me enseña los códigos, al añadir o
editar me saca los nombres y al salir de la edición me muestra el código.
Lo mismo que haría un ComboBox si no indico nDataType=dtBOUND pero aquí
no hay manera de asignar esta propiedad puesto que no existe.
Debería de existir esta propiedad o tengo que hacer algun truco para ver
los nombres.
Gracias y Salu2.
- ignacio
- Site Admin
- Mensajes: 9252
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Duda con edición de ListBox en columna de un browse
Bingen Ugaldebere escribió el mar, 24 mayo 2011 13:30Buenas compañeros.
A ver si alguien sabe por que pasa lo siguiente.
Tengo un DbBrowse con una columna que tiene nEditType=beLISTBOX y le he
asignado una lista de nombres en un aEditListText y otra lista de
códigos en aEditListBound, al igual que hago con muchos ComboBox.
Funcionar funciona pero en el browse me enseña los códigos, al añadir o
editar me saca los nombres y al salir de la edición me muestra el código.
Lo mismo que haría un ComboBox si no indico nDataType=dtBOUND pero aquí
no hay manera de asignar esta propiedad puesto que no existe.
Debería de existir esta propiedad o tengo que hacer algun truco para ver
los nombres.
Gracias y Salu2.
No consigo entender tu problema, lo siento. Dinos como reproducirlo con algún ejemplo de Xailer. Gracias de antemano.
Un saludo
A ver si alguien sabe por que pasa lo siguiente.
Tengo un DbBrowse con una columna que tiene nEditType=beLISTBOX y le he
asignado una lista de nombres en un aEditListText y otra lista de
códigos en aEditListBound, al igual que hago con muchos ComboBox.
Funcionar funciona pero en el browse me enseña los códigos, al añadir o
editar me saca los nombres y al salir de la edición me muestra el código.
Lo mismo que haría un ComboBox si no indico nDataType=dtBOUND pero aquí
no hay manera de asignar esta propiedad puesto que no existe.
Debería de existir esta propiedad o tengo que hacer algun truco para ver
los nombres.
Gracias y Salu2.
No consigo entender tu problema, lo siento. Dinos como reproducirlo con algún ejemplo de Xailer. Gracias de antemano.
Un saludo
-
- Mensajes: 1310
- Registrado: Mié Sep 26, 2007 7:12 pm
Duda con edición de ListBox en columna de un browse
Gracias Ignacio pero preparar un ejemplo es tan sumamente complicado ya
que va todo son "Select" sobre base de datos MYSql que he desistido de
lo que quería hacer y lo he hecho de otra manera mas chapucera pero
funcional.
Gracias.
que va todo son "Select" sobre base de datos MYSql que he desistido de
lo que quería hacer y lo he hecho de otra manera mas chapucera pero
funcional.
Gracias.
- Carlos Ortiz
- Mensajes: 872
- Registrado: Mié Jul 01, 2009 5:44 pm
- Ubicación: Argentina - Córdoba
- Contactar:
Duda con edición de ListBox en columna de un browse
Hola Bingen,
nosotros lo hacemos de la siguiente forma
en el cFieldName tengo idtipomedi
en el nEditType beListBox
en el OnCreate de la columna.
local oDataSet:=TOdbcDataSet():New()
oDataSet:Close()
oDataSet:=AppData:oSql:QU("select descripcion , idtipomedios from
tiposmedios order by descripcion" )
oDataSet:Open()
oSender:aEditListText := oDataSet:SaveToArray( {|Self, nArrayPos|
pad(::descripcion,30) } )
oSender:aEditListBound := oDataSet:SaveToArray( {|Self, nArrayPos|
::idtipomedios } )
en el OnGetData
ret := ""
IF ::oTiposmedios:DevolverPorID(ValoresDetalle->idtipomedi)
ret:=::oTiposmedios:descripcion
ENDIF
RETURN ret
la clase tipomedios que no viene mucho al caso es la siguiente:
/*
Clase Tiposmedios
Generada el 21-04-2010 12:50:54
*/
#include "Xailer.ch"
//---------------------------------------------------------- --------------------
CLASS Tiposmedios From TComponent
METHOD DevolverPorID( ID )
METHOD DevolverPorCodigo( codigo )
METHOD Actualizar()
METHOD Agregar()
METHOD Eliminar()
PROPERTY idtipomedios INIT 0
PROPERTY codigo INIT ""
PROPERTY descripcion INIT ""
ENDCLASS
//---------------------------------------------------------- --------------------
METHOD DevolverPorID( ID ) CLASS Tiposmedios
local ret:=.F.
local hArray:=AppData:oSql:QH( "select codigo,descripcion from
Tiposmedios where idtipomedios="+str(ID))
IF len(hArray)>0
::idtipomedios := ID
::codigo := hArray['codigo']
::descripcion := hArray['descripcion']
ret := .t.
ELSE
::New()
AppData:oSql:cError:="El registro que intenta modificar ya no existe
en la base de datos."
ENDIF
RETURN ret
nosotros lo hacemos de la siguiente forma
en el cFieldName tengo idtipomedi
en el nEditType beListBox
en el OnCreate de la columna.
local oDataSet:=TOdbcDataSet():New()
oDataSet:Close()
oDataSet:=AppData:oSql:QU("select descripcion , idtipomedios from
tiposmedios order by descripcion" )
oDataSet:Open()
oSender:aEditListText := oDataSet:SaveToArray( {|Self, nArrayPos|
pad(::descripcion,30) } )
oSender:aEditListBound := oDataSet:SaveToArray( {|Self, nArrayPos|
::idtipomedios } )
en el OnGetData
ret := ""
IF ::oTiposmedios:DevolverPorID(ValoresDetalle->idtipomedi)
ret:=::oTiposmedios:descripcion
ENDIF
RETURN ret
la clase tipomedios que no viene mucho al caso es la siguiente:
/*
Clase Tiposmedios
Generada el 21-04-2010 12:50:54
*/
#include "Xailer.ch"
//---------------------------------------------------------- --------------------
CLASS Tiposmedios From TComponent
METHOD DevolverPorID( ID )
METHOD DevolverPorCodigo( codigo )
METHOD Actualizar()
METHOD Agregar()
METHOD Eliminar()
PROPERTY idtipomedios INIT 0
PROPERTY codigo INIT ""
PROPERTY descripcion INIT ""
ENDCLASS
//---------------------------------------------------------- --------------------
METHOD DevolverPorID( ID ) CLASS Tiposmedios
local ret:=.F.
local hArray:=AppData:oSql:QH( "select codigo,descripcion from
Tiposmedios where idtipomedios="+str(ID))
IF len(hArray)>0
::idtipomedios := ID
::codigo := hArray['codigo']
::descripcion := hArray['descripcion']
ret := .t.
ELSE
::New()
AppData:oSql:cError:="El registro que intenta modificar ya no existe
en la base de datos."
ENDIF
RETURN ret
@dbfarma
www.dbfarma.com.ar
www.dbfarma.com.ar
-
- Mensajes: 1310
- Registrado: Mié Sep 26, 2007 7:12 pm
Duda con edición de ListBox en columna de un browse
Gracias voy a intentar hacerlo de esta manera a ver que me sale.
El 02/06/2011 3:00, Carlos Ortiz escribió:
> Hola Bingen,
> nosotros lo hacemos de la siguiente forma
> en el cFieldName tengo idtipomedi
> en el nEditType beListBox
>
> en el OnCreate de la columna.
> local oDataSet:=TOdbcDataSet():New()
> oDataSet:Close()
> oDataSet:=AppData:oSql:QU("select descripcion , idtipomedios from
> tiposmedios order by descripcion" )
> oDataSet:Open()
> oSender:aEditListText := oDataSet:SaveToArray( {|Self, nArrayPos|
> pad(::descripcion,30) } )
> oSender:aEditListBound := oDataSet:SaveToArray( {|Self, nArrayPos|
> ::idtipomedios } )
>
> en el OnGetData
> ret := ""
> IF ::oTiposmedios:DevolverPorID(ValoresDetalle->idtipomedi)
> ret:=::oTiposmedios:descripcion
> ENDIF
> RETURN ret
>
>
>
> la clase tipomedios que no viene mucho al caso es la siguiente:
> /*
> Clase Tiposmedios
> Generada el 21-04-2010 12:50:54
> */
> #include "Xailer.ch"
> //---------------------------------------------------------- --------------------
>
> CLASS Tiposmedios From TComponent
> METHOD DevolverPorID( ID )
> METHOD DevolverPorCodigo( codigo )
> METHOD Actualizar()
> METHOD Agregar()
> METHOD Eliminar()
> PROPERTY idtipomedios INIT 0
> PROPERTY codigo INIT ""
> PROPERTY descripcion INIT ""
> ENDCLASS
>
> //---------------------------------------------------------- --------------------
> METHOD DevolverPorID( ID ) CLASS Tiposmedios
> local ret:=.F.
> local hArray:=AppData:oSql:QH( "select codigo,descripcion from
> Tiposmedios where idtipomedios="+str(ID))
> IF len(hArray)>0
> ::idtipomedios := ID
> ::codigo := hArray['codigo']
> ::descripcion := hArray['descripcion']
> ret := .t.
> ELSE
> ::New()
> AppData:oSql:cError:="El registro que intenta modificar ya no existe
> en la base de datos."
> ENDIF
> RETURN ret
>
>
El 02/06/2011 3:00, Carlos Ortiz escribió:
> Hola Bingen,
> nosotros lo hacemos de la siguiente forma
> en el cFieldName tengo idtipomedi
> en el nEditType beListBox
>
> en el OnCreate de la columna.
> local oDataSet:=TOdbcDataSet():New()
> oDataSet:Close()
> oDataSet:=AppData:oSql:QU("select descripcion , idtipomedios from
> tiposmedios order by descripcion" )
> oDataSet:Open()
> oSender:aEditListText := oDataSet:SaveToArray( {|Self, nArrayPos|
> pad(::descripcion,30) } )
> oSender:aEditListBound := oDataSet:SaveToArray( {|Self, nArrayPos|
> ::idtipomedios } )
>
> en el OnGetData
> ret := ""
> IF ::oTiposmedios:DevolverPorID(ValoresDetalle->idtipomedi)
> ret:=::oTiposmedios:descripcion
> ENDIF
> RETURN ret
>
>
>
> la clase tipomedios que no viene mucho al caso es la siguiente:
> /*
> Clase Tiposmedios
> Generada el 21-04-2010 12:50:54
> */
> #include "Xailer.ch"
> //---------------------------------------------------------- --------------------
>
> CLASS Tiposmedios From TComponent
> METHOD DevolverPorID( ID )
> METHOD DevolverPorCodigo( codigo )
> METHOD Actualizar()
> METHOD Agregar()
> METHOD Eliminar()
> PROPERTY idtipomedios INIT 0
> PROPERTY codigo INIT ""
> PROPERTY descripcion INIT ""
> ENDCLASS
>
> //---------------------------------------------------------- --------------------
> METHOD DevolverPorID( ID ) CLASS Tiposmedios
> local ret:=.F.
> local hArray:=AppData:oSql:QH( "select codigo,descripcion from
> Tiposmedios where idtipomedios="+str(ID))
> IF len(hArray)>0
> ::idtipomedios := ID
> ::codigo := hArray['codigo']
> ::descripcion := hArray['descripcion']
> ret := .t.
> ELSE
> ::New()
> AppData:oSql:cError:="El registro que intenta modificar ya no existe
> en la base de datos."
> ENDIF
> RETURN ret
>
>
Re: Duda con edición de ListBox en columna de un browse
Hola buenas tardes, siguiendo el hilo del post, a mi me ocurre lo mismo con respecto al combo en el browse.
Me pueden decir como se soluciona ?
Saludos
Me pueden decir como se soluciona ?
Código: Seleccionar todo
cSql := "SELECT id, nombre FROM clavesCategorias ORDER BY nombre"
aData := AppData:Cnn:queryArray( cSql )
for each a in aData
AAdd( aDatID, a[1] )
AAdd( aDatNom, a[2] )
next
WITH OBJECT ::oBrw:aCols[5]
:nEditType := beLISTBOX
:aEditListText := aDatNom
:aEditListBound := aDatID
END WITH
Marcelo Roggeri
Argentina
Argentina
- ignacio
- Site Admin
- Mensajes: 9252
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Re: Duda con edición de ListBox en columna de un browse
Hola,
Sin escribir una sola línea de código.
Saludos
Sin escribir una sola línea de código.
Saludos
- Adjuntos
-
- ArrayBrowse.zip
- (3.21 KiB) Descargado 131 veces
Re: Duda con edición de ListBox en columna de un browse
Te adjunto la imagen, como se puede observar no muestra el nombre de la forma de pago.
Eso mismo me ocurre en mi proyecto.
osea en lugar del 1 deberia verse el Uno osea la descripcion o nombre
Eso mismo me ocurre en mi proyecto.
osea en lugar del 1 deberia verse el Uno osea la descripcion o nombre
Marcelo Roggeri
Argentina
Argentina
- ignacio
- Site Admin
- Mensajes: 9252
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Re: Duda con edición de ListBox en columna de un browse
Buenos días,
Lo siento, pero no estoy de acuerdo. Una cosa es como se edita y otra muy distinta es como se visualiza. No tiene nada que ver. Si quiere que salga el texto tendrá que atrapar el evento OnBrowseModDrawCell(). Adjunto imagen:
Si no lo consigue le mando el código (3 líneas), pero creo que es bueno que lo intente por su cuenta primeramente.
Un saludo
Lo siento, pero no estoy de acuerdo. Una cosa es como se edita y otra muy distinta es como se visualiza. No tiene nada que ver. Si quiere que salga el texto tendrá que atrapar el evento OnBrowseModDrawCell(). Adjunto imagen:
Si no lo consigue le mando el código (3 líneas), pero creo que es bueno que lo intente por su cuenta primeramente.
Un saludo
Re: Duda con edición de ListBox en columna de un browse
Sr Ignacio ten en cuenta que estoy dando mis primeros pasos, en samples busque y no encontré ejemplos de lo que necesito.
Aun no he hecho mi primer proyecto completo, le estoy dedicando el 100% de mi tiempo a Xailer desde hace 2 meses.
Estoy haciendo cosas que jamás pensé haría con Xailer, toda la ayuda es bienvenida ya que el tiempo es nuestro mayor costo, soy de aprender rápido mirando.
De todas maneras lo voy a intentar por ese lado no creo que sea algo muy difícil el tema es conocer o descubrir el camino de cada cosa.
Un saludo, sino lo logro le pediré el trozo de código.
P.D. como esto, tengo varias inquietudes que me voy quedando estancado.
Pero voy a ir de cosa por cosa para ir aprendiendo y descartando y no morir en el intento una vez mas.
Aun no he hecho mi primer proyecto completo, le estoy dedicando el 100% de mi tiempo a Xailer desde hace 2 meses.
Estoy haciendo cosas que jamás pensé haría con Xailer, toda la ayuda es bienvenida ya que el tiempo es nuestro mayor costo, soy de aprender rápido mirando.
De todas maneras lo voy a intentar por ese lado no creo que sea algo muy difícil el tema es conocer o descubrir el camino de cada cosa.
Un saludo, sino lo logro le pediré el trozo de código.
P.D. como esto, tengo varias inquietudes que me voy quedando estancado.
Pero voy a ir de cosa por cosa para ir aprendiendo y descartando y no morir en el intento una vez mas.
Marcelo Roggeri
Argentina
Argentina
- ignacio
- Site Admin
- Mensajes: 9252
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Re: Duda con edición de ListBox en columna de un browse
Buenos días,
Le recomiendo que revise la gran cantidad de ejemplos que incluye Xailer y cuando vea algo que no comprende, no lo aparque, indague y por último, pregunte en el foro. Los conocimientos de Harbour y otros entornos de desarrollo basados en Harbour no son suficientes para ser 100% operativos con Xailer. Existe una curva de aprendizaje, que es mayor, cuanto menos se ha utilizado la programación orientada a objetos y la programación no procedural basada en eventos. Todo es cuestión de adaptarse al nuevo sistema. Dese tiempo, sino lo hace así, es muy probable que en breve plazo tenga que volver a rehacer su primera aplicación en Xailer desde cero. Ese es mi consejo.
Un saludo
Le recomiendo que revise la gran cantidad de ejemplos que incluye Xailer y cuando vea algo que no comprende, no lo aparque, indague y por último, pregunte en el foro. Los conocimientos de Harbour y otros entornos de desarrollo basados en Harbour no son suficientes para ser 100% operativos con Xailer. Existe una curva de aprendizaje, que es mayor, cuanto menos se ha utilizado la programación orientada a objetos y la programación no procedural basada en eventos. Todo es cuestión de adaptarse al nuevo sistema. Dese tiempo, sino lo hace así, es muy probable que en breve plazo tenga que volver a rehacer su primera aplicación en Xailer desde cero. Ese es mi consejo.
Un saludo
Re: Duda con edición de ListBox en columna de un browse
Buenas tardes, bueno ahi se pudo avanzar, muestro la imagen, que con 3 lineas de código se pudo reemplazar el id por el texto pero al entrar en modo edición haciendo doble click me muestra el id del pago en lugar de mostrar el texto.
Alguna idea para seguir avanzando ?
Código: Seleccionar todo
METHOD BrowseMod1DrawCell( oSender, oCol, nIndex, xValue, cValue, nImage, nClrText, nClrPane, nState, hDC, aRect ) CLASS TForm1
IF oCol:nDataCol == 5
cValue := oCol:aEditListText[xValue]
ENDIF
RETURN Nil
Marcelo Roggeri
Argentina
Argentina