Página 1 de 1

De nuevo sobre DBComboBox

Publicado: Lun Feb 19, 2007 8:09 pm
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.

De nuevo sobre DBComboBox

Publicado: Mar Feb 20, 2007 9:52 am
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.
>

De nuevo sobre DBComboBox

Publicado: Mié Feb 21, 2007 4:43 am
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.