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.

De nuevo sobre DBComboBox

Foro público de Xailer en español
Responder
Avatar de Usuario
Carlos Ortiz
Mensajes: 873
Registrado: Mié Jul 01, 2009 5:44 pm
Ubicación: Argentina - Córdoba
Contactar:

De nuevo sobre DBComboBox

Mensaje por Carlos Ortiz »

Estimado Ignacio / Jose, lei la documentacion y probe y probe y no puedo
hacer lo que necesito, voy a tratar de ser claro y sencillo a ver si me
pueden echar una mano.
Tengo una tabla que tiene datos como estos
NIDTabla Tabla Descrip
1 SEXO Masculino
2 SEXO Femenino
3 TIPDOC Factura
4 TIPDOC Recibo
5 TIPDOC Ticket
6 ESTADO Activo
7 ESTADO Baja
y asi sucesivamente, esta tabla guarda los elementos de los combos que voy a
mostrar,
antes en FiveWin usaba una funcion que llame
ELITAB("SEXO",CLIENTES->NIDSEXO)
le pasaba como parametro el nombre de los elementos a mostrar y el campo de
la base de datos
que se debe actualizar con lo que devolviera la funcion. ( Siempre devolvia
el valor del campo NIDTABLA )
De esta manera si aparecia por ejemplo un nuevo tipo de documento TIPDOC es
cuestion de agregar un registro en esa tabla por ejemplo:
NIDTabla Tabla Descrip
8 TIPDOC Orden de pago
y sin tener que compilar nada el cliente ya tenia los nuevos elementos de
los array de los cambos actualizados.
Ahora quisiera poder hacer esto pero en nuestro querido Xailer, estuve
tratando de cargar la matriz aItems al entrar tambien probe con aItemsBound
pero no se llenan o no se como llenarlas, a donde pongo el valor de NIDTabla
para que me devuelva el ID del campo y no la primera letra del array
mostrado entre otras cosas.
Estaria bueno que se pudiera hacer algo desde una tabla como la del ejemplo
o de alguna otra manera ya que seguro que Xailer lo tiene contemplado. Por
ahi soy medio nuevo con el IDE y pido disculpas por eso.
Desde ya muchas gracias y al resto del foro tambien.
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9463
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

De nuevo sobre DBComboBox

Mensaje por ignacio »

Carlos,
Para llenar las matrices no tiene más que alimentarlas en su propio evento
OnCreate:
oSender:aItems := { .... }
oSender:aItemsBound := { .... }
En su caso sería para la tabla SEXO:
oSender:aItems := { "Masculino", "Femenino" }
oSender:aItemsBound := { 1, 2 }
Para la tabla TIPDOC:
oSender:aItems := { "Factura", "Recibo", "Ticket" }
oSender:aItemsBound := { 3, 4, 5 }
Saludos
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Carlos Ortiz" <cortiz@assistinfo.com.ar> escribió en el mensaje
news:[email=45d9f5da@news.xailer.com...]45d9f5da@news.xailer.com...[/email]
> Estimado Ignacio / Jose, lei la documentacion y probe y probe y no puedo
> hacer lo que necesito, voy a tratar de ser claro y sencillo a ver si me
> pueden echar una mano.
>
> Tengo una tabla que tiene datos como estos
> NIDTabla Tabla Descrip
> 1 SEXO Masculino
> 2 SEXO Femenino
> 3 TIPDOC Factura
> 4 TIPDOC Recibo
> 5 TIPDOC Ticket
> 6 ESTADO Activo
> 7 ESTADO Baja
> y asi sucesivamente, esta tabla guarda los elementos de los combos que voy
> a mostrar,
> antes en FiveWin usaba una funcion que llame
> ELITAB("SEXO",CLIENTES->NIDSEXO)
> le pasaba como parametro el nombre de los elementos a mostrar y el campo
> de la base de datos
> que se debe actualizar con lo que devolviera la funcion. ( Siempre
> devolvia el valor del campo NIDTABLA )
>
> De esta manera si aparecia por ejemplo un nuevo tipo de documento TIPDOC
> es cuestion de agregar un registro en esa tabla por ejemplo:
>
> NIDTabla Tabla Descrip
> 8 TIPDOC Orden de pago
>
> y sin tener que compilar nada el cliente ya tenia los nuevos elementos de
> los array de los cambos actualizados.
>
> Ahora quisiera poder hacer esto pero en nuestro querido Xailer, estuve
> tratando de cargar la matriz aItems al entrar tambien probe con
> aItemsBound pero no se llenan o no se como llenarlas, a donde pongo el
> valor de NIDTabla para que me devuelva el ID del campo y no la primera
> letra del array mostrado entre otras cosas.
>
> Estaria bueno que se pudiera hacer algo desde una tabla como la del
> ejemplo o de alguna otra manera ya que seguro que Xailer lo tiene
> contemplado. Por ahi soy medio nuevo con el IDE y pido disculpas por eso.
>
> Desde ya muchas gracias y al resto del foro tambien.
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Avatar de Usuario
Carlos Ortiz
Mensajes: 873
Registrado: Mié Jul 01, 2009 5:44 pm
Ubicación: Argentina - Córdoba
Contactar:

De nuevo sobre DBComboBox

Mensaje por Carlos Ortiz »

Gracias Ignacio fue de mucha utilidad y he podido resolver el tema de los
DbCombo desde una tabla, usando aitems y aitemsbound.
// ----------------------------------------------
METHOD DBComboBox3Create( oSender ) CLASS TAbmPersonas
// ----------------------------------------------
CargElem(::oDSTablas,oSender,"SEXO")
RETURN Nil
CARGELEM() arma los arrays como me indicastes anteriormente pero desde una
base de datos buscando en este caso la clave "SEXO", pero asi como estas
tengo un monton de tablas del sistema y que ademas el cliente puede ir
configurando a su gusto.
una vez mas, GRACIAS.
Responder