Page 1 of 1
Ayuda Combo Box
Posted: Wed Jul 10, 2013 8:05 pm
by macato
Fivewiner
favor alguien me echa una mano... tengo un dialog donde cargo en un combobox datos de direcciones, de un cliente.. lo que necesito es que cuando se cambie de cliente en el mismo dialog.. se refresquen los datos del combobox con los datos del nuevo cliente..
DEFINE Dialog ::oDlg Resource .....
Redefine Get ::oGet[02] VAR ::vRut Id 102 Of ::oDlg picture "@R 99.999.999-!" valid { datos( ::vRut} )
Redefine ComboBox ::oCmb VAR ::vCmb Id 131 Of ::oDlg Items ::aCmb[01] Update
Activate Dialog ::oDlg....
method Datos ()
aqui lleno los nuevos datos del combo....
aadd( ::aCmb, { direccion1, direccion2} )
::oCmb:Update()
::oCmb:Refresh()
return NIL
alguna sugerencia se los agradezco.. llevo un ratotote con esta cosaaa
salu2
Tomas
Re: Ayuda Combo Box
Posted: Wed Jul 10, 2013 8:21 pm
by benjiben143
hola wen dia
oCombomaestro:Setitems(adatos)
oCombomaestro:refresh()
ya que tienes los datos nuevos
ay que agregarlos con ocombomaestro:setitems(adatos)
y luego refrescar
saludos
Re: Ayuda Combo Box
Posted: Wed Jul 10, 2013 9:28 pm
by macato
Hola gracias
lo agregue como indicas
method Datos ()
aqui lleno los nuevos datos del combo....
aadd( ::aCmb, { direccion1, direccion2} )
::oCmb:Setitems(::aCmb)
::oCmb:Refresh()
Return NIL
pero me marca el siguiente error
Application
===========
Path and name: F:\Respaldos\Dropbox\app\FastTackV7.0\Bin\Fast Track 7.0.Exe (32 bits)
Size: 5,342,720 bytes
Time from start: 0 hours 0 mins 14 secs
Error occurred at: 10/07/2013, 17:24:30
Error description: Error BASE/2022 Argument error: ALLTRIM
Args:
[ 1] = A { ... }
Stack Calls
===========
Called from: => ALLTRIM(0)
Called from: COMBOBOX.PRG => (b)TCOMBOBOX:DEFAULT(0)
Called from: => ASCAN(0)
Called from: COMBOBOX.PRG => TCOMBOBOX:DEFAULT(0)
Called from: COMBOBOX.PRG => (b)TCOMBOBOX:TCOMBOBOX(0)
Called from: COMBOBOX.PRG => TCOMBOBOX:SETITEMS(0)
Called from: FT600b.prg => FT600:DATOS(1362) //llamado a linea ::oCmb:Setitems(::aCmb)
Re: Ayuda Combo Box
Posted: Wed Jul 10, 2013 10:51 pm
by benjiben143
hola,
este es un ejemplo funcional
Code: Select all
// This sample shows how to create a Combo Test.
#include "FiveWin.ch"
//----------------------------------------------------------------------------//
function Main()
local oDlg, oCbx, cCbx:="aaa"
local cItem1 := {"aaa","bbb","ccc"}
local cItem2 := {"1","2","3"}
local citem3
citem3:=citem1
DEFINE DIALOg oDlg title "TestCombo"
@ 1, 1 combobox oCbx var ccbx items citem3 size 60, 80 of odlg update
@ 2, 1 BUTTON "cambiar aa" SIZE 40, 10 OF oDlg action ( citem3:=citem1, ocbx:setitems(citem3) , ocbx:refresh() )
@ 3, 1 BUTTON "cambiar 1" SIZE 40, 10 OF oDlg action ( citem3:=citem2, ocbx:setitems(citem3) , ocbx:refresh() )
ACTIVATE DIALOG oDlg CENTERED
return nil
//----------------------------------------------------------------------------//
Re: Ayuda Combo Box
Posted: Thu Jul 11, 2013 11:10 am
by jrestojeda
Hola...
Revisa también el método modify() de la clase combo.
Saludos,
Re: Ayuda Combo Box
Posted: Thu Jul 11, 2013 4:50 pm
by benjiben143
hola,,
elproblema es que el combo lo toma como texto y no numerico ,,,, convierte los numeros a texto
y con eso ya no marca error en alltrim la clase combobox
saludos
Re: Ayuda Combo Box
Posted: Fri Jul 19, 2013 3:12 am
by macato
benjiben143 wrote:hola,
este es un ejemplo funcional
Code: Select all
// This sample shows how to create a Combo Test.
#include "FiveWin.ch"
//----------------------------------------------------------------------------//
function Main()
local oDlg, oCbx, cCbx:="aaa"
local cItem1 := {"aaa","bbb","ccc"}
local cItem2 := {"1","2","3"}
local citem3
citem3:=citem1
DEFINE DIALOg oDlg title "TestCombo"
@ 1, 1 combobox oCbx var ccbx items citem3 size 60, 80 of odlg update
@ 2, 1 BUTTON "cambiar aa" SIZE 40, 10 OF oDlg action ( citem3:=citem1, ocbx:setitems(citem3) , ocbx:refresh() )
@ 3, 1 BUTTON "cambiar 1" SIZE 40, 10 OF oDlg action ( citem3:=citem2, ocbx:setitems(citem3) , ocbx:refresh() )
ACTIVATE DIALOG oDlg CENTERED
return nil
//----------------------------------------------------------------------------//
funciona bien pero no logro hacer que el nuevo combobox comience desde la posición 1 siempre se inicia en la posición 0, generandome error
asi lo hago pero no funciona????? oCbx:nAt := 1
alguna sugerencia
gracias...
Re: Ayuda Combo Box
Posted: Fri Jul 19, 2013 2:30 pm
by benjiben143
hola buen dia
dale el valor a la variable del combobox
y refresh al objecto de combobox
sas
Re: Ayuda Combo Box
Posted: Fri Jul 19, 2013 2:55 pm
by Antonio Linares
Macato,
Cual es la posición cero ? La primera posición del combobox sería la 1.
Te refieres a que se va a la 2 ?
Tendrias que asignar a ::vCmb el valor del primer elemento del array
Re: Ayuda Combo Box
Posted: Tue Jul 23, 2013 10:17 am
by macato
Gracias
Antonio Linares wrote:Macato,
Cual es la posición cero ? La primera posición del combobox sería la 1.
Te refieres a que se va a la 2 ?
Tendrias que asignar a ::vCmb el valor del primer elemento del array
Antonio,
Efectivamente tendría que ser la posición 1, incluso fuerzo el objeto ::oCmb:nAt := 01 a esa posición, pero aun así en el combobox no se muestran la información del primer dato contenido en el... , la primera información se muestra vacía y a continuación la información del combobox que se genero a partir del array...
DEFINE Dialog ::oDlg Resource .....
Redefine Get ::oGet[02] VAR ::vRut Id 102 Of ::oDlg picture "@R 99.999.999-!" valid { datos( ::vRut} )
Redefine ComboBox ::oCmb VAR ::vCmb Id 131 Of ::oDlg Items ::aCmb[01] Update
Activate Dialog ::oDlg....
method Datos ()
aqui lleno los nuevos datos del combo....
aadd( ::aCmb, { codigo, direccion1, comuna, ciudad } )
::oCmb:setitems(::aCmb[01])
::oCmb:Refresh()
::oCmb:nAt := 01
::oDlg:Update()
return NIL
Re: Ayuda Combo Box
Posted: Tue Jul 23, 2013 3:08 pm
by benjiben143
este es el ejemplo que dependiendo el valor se va a la posicion del combo, si queremos que sea la primera posicion seria
ccbx:=citem2[1] // esto nos indica que ccbx va tener el primer valor
ocbx:refresh() // con esto refrescamos
ya seria validar isi hay datos en la posiscion 1
saludos
abajo el ejemplo
Code: Select all
#include "FiveWin.ch"
//----------------------------------------------------------------------------//
function Main()
local oDlg, oCbx, cCbx:="aaa"
local cItem1 := {"aaa","bbb","ccc"}
local cItem2 := {"1","2","3"}
local citem3
citem3:=citem1
DEFINE DIALOg oDlg title "TestCombo"
@ 1, 1 combobox oCbx var ccbx items citem3 size 60, 80 of odlg update
@ 2, 1 BUTTON "cambiar aa" SIZE 40, 10 OF oDlg action ( citem3:=citem1, ocbx:setitems(citem3) , ccbx:="bbb",ocbx:refresh() )
@ 3, 1 BUTTON "cambiar 1" SIZE 40, 10 OF oDlg action ( citem3:=citem2, ocbx:setitems(citem3) , ccbx:="3",ocbx:refresh() )
@ 2, 10 BUTTON "primero" SIZE 40, 10 OF oDlg action ( citem3:=citem2, ocbx:setitems(citem3) , ccbx:=citem2[1],ocbx:refresh() )
ACTIVATE DIALOG oDlg CENTERED
return nil
//---
saludos
Re: Ayuda Combo Box
Posted: Tue Jul 23, 2013 7:00 pm
by macato
Ahora funciona perfecto!!! muchas gracias
benjiben143 wrote:este es el ejemplo que dependiendo el valor se va a la posicion del combo, si queremos que sea la primera posicion seria
ccbx:=citem2[1] // esto nos indica que ccbx va tener el primer valor
ocbx:refresh() // con esto refrescamos
ya seria validar isi hay datos en la posiscion 1
saludos
abajo el ejemplo
Code: Select all
#include "FiveWin.ch"
//----------------------------------------------------------------------------//
function Main()
local oDlg, oCbx, cCbx:="aaa"
local cItem1 := {"aaa","bbb","ccc"}
local cItem2 := {"1","2","3"}
local citem3
citem3:=citem1
DEFINE DIALOg oDlg title "TestCombo"
@ 1, 1 combobox oCbx var ccbx items citem3 size 60, 80 of odlg update
@ 2, 1 BUTTON "cambiar aa" SIZE 40, 10 OF oDlg action ( citem3:=citem1, ocbx:setitems(citem3) , ccbx:="bbb",ocbx:refresh() )
@ 3, 1 BUTTON "cambiar 1" SIZE 40, 10 OF oDlg action ( citem3:=citem2, ocbx:setitems(citem3) , ccbx:="3",ocbx:refresh() )
@ 2, 10 BUTTON "primero" SIZE 40, 10 OF oDlg action ( citem3:=citem2, ocbx:setitems(citem3) , ccbx:=citem2[1],ocbx:refresh() )
ACTIVATE DIALOG oDlg CENTERED
return nil
//---
saludos