Cómo refrescar un COMBOBOX? (SOLUCIONADO)

Cómo refrescar un COMBOBOX? (SOLUCIONADO)

Postby Armando » Mon Oct 30, 2017 2:08 pm

Saludos al foro:

Tengo la siguiente situación, ojalá me puedan apoyar!.

El siguiente código de un COMBOBOX esta formado con un ARRAY (acPdc) y el
array lo formo dependiendo de un GET anterior, es decir lo armo en tiempo de
ejecución, el problema es que no se me refresca el array del COMBOBOX.

Code: Select all  Expand view

        REDEFINE COMBOBOX aGets[03] VAR oBit:PDC ID 103 OF oDlg UPDATE;
            PROMPTS acPdc;
            WHEN oBit:REP;
            MESSAGE "Elija la planta del cliente donde descargar"
 


Gracias
Last edited by Armando on Mon Oct 30, 2017 9:21 pm, edited 1 time in total.
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3061
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Cómo refrescar un COMBOBOX?

Postby karinha » Mon Oct 30, 2017 3:13 pm

Aramando, intenta asi:

Code: Select all  Expand view

   REDEFINE COMBOBOX oCbx2 VAR cOPCLAY2 ITEMS {"Diretoria","Consciliação"};
      ID 120 OF oDlg;
      STYLE CBS_DROPDOWN ;
      WHEN nOpTot=1 .AND. nOpFilt=3 .AND. nOpcLay=1;
      ON CHANGE ( nOPCLAY2 := oCbx2:nAt,oCbx2:Refresh() )

   REDEFINE COMBOBOX oCbx VAR cOPCOUT ITEMS {"Impressora","Excel"};
      ID 121 OF oDlg;
      STYLE CBS_DROPDOWN ;
      ON CHANGE ( nOPCOUT := oCbx:nAt,oCbx:Refresh() )
 


Saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7214
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Cómo refrescar un COMBOBOX?

Postby Armando » Mon Oct 30, 2017 3:38 pm

Karinha:

Agradezco tu respuesta pero no consigo hacerla funcionar, pongo más código:

Code: Select all  Expand view

        REDEFINE GET aGets[01] VAR oBit:RFC ID 101 OF oDlg UPDATE;
            BITMAP "Bus16";
            PICTURE "@!K";
            VALID ValRfc(oDlg,aGets);
            MESSAGE "Registro Federal de Contribuyentes del cliente"

        REDEFINE COMBOBOX aGets[03] VAR oBit:PDC ID 103 OF oDlg UPDATE;
            PROMPTS acPdc;            <------------- Esto no se refresca
            WHEN oBit:REP;
            MESSAGE "Elija la planta del cliente donde descargar"
 


En la función ValRfc(oDlg,aGets) es donde armo el array acPdc dependiendo del
cliente que se ha registrado, pero no muestra el contenido.

Con otra pregunta, como hacer que se muestren las líneas punteadas en los controles COMBOBOX???

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3061
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Cómo refrescar un COMBOBOX?

Postby joseluisysturiz » Mon Oct 30, 2017 4:44 pm

Armando, con un DBCOMBO lo hago asi, haber si te da alguna idea...saludos... :shock:

Code: Select all  Expand view

   aGet[5]:aItems := aNuevo1
   aGet[5]:aList  := aNuevo2
   aGet[5]:SetItems( aGet[5]:aItems, aGet[5]:aList, .t. )
   aVar[5] := "0"
   aGet[5]:REFRESH()
 
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Re: Cómo refrescar un COMBOBOX?

Postby karinha » Mon Oct 30, 2017 5:00 pm

Armando, mira:

Code: Select all  Expand view

   c:\fwh1701\samples\testcalr.prg
 


Saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7214
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Cómo refrescar un COMBOBOX?

Postby armando.lagunas » Mon Oct 30, 2017 5:32 pm

Tocayo: como dice jose luis

Code: Select all  Expand view

oGets[3]:SetItems( acPdc , .T. )
oBit:PDC    :=  acPdc[1]
oGets[3]:Refresh()
 
SkyPe: armando.lagunas@hotmail.com
Mail: armando.lagunas@gmail.com
User avatar
armando.lagunas
 
Posts: 346
Joined: Mon Oct 05, 2009 3:35 pm
Location: Curico-Chile

Re: Cómo refrescar un COMBOBOX? (SOLUCIONADO)

Postby Armando » Mon Oct 30, 2017 9:22 pm

Amigos:

Solucionado con la propuesta de José Luis, sacaron un alma del purgatorio :)

Gracias a todos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3061
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Cómo refrescar un COMBOBOX?

Postby joseluisysturiz » Tue Oct 31, 2017 12:07 am

armando.lagunas wrote:Tocayo: como dice jose luis

Code: Select all  Expand view

oGets[3]:SetItems( acPdc , .T. )
oBit:PDC    :=  acPdc[1]
oGets[3]:Refresh()
 



Armando Lagunas, aprovechando que respondistes, te hago una pequeña consulta sobre TASKPANEL, haber si es posible me des una idea o ayuda en lo siguiente, no estoy usando ningun THEME y asi me sirve 99,99%, porque digo eso.? ya que necesito solo cambiar el color de los TASKGROUP en todo el sistema y que las cajas tengan SOMBRA y EFECTO 3D, lo demas que no tiene color stylo transparente me viene al pelo...como podria hacer lo que necesito.?

Pense en hacer un THEME, pero creo seria mucho trabajo solo para cambiar un color...no se que opinas, o si puedo crear un THEME donde solo use y modifique el color de los TASKGROUP...

Espero sugerencias e ideas, saludos, gracias... :shock:
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Re: Cómo refrescar un COMBOBOX? (SOLUCIONADO)

Postby armando.lagunas » Tue Oct 31, 2017 4:47 pm

Actualmente lo uso asi, con un theme standard que se llama "#TASKOK"

Aqui esta:

Code: Select all  Expand view

// Definición del tema para los TaskPannel

// **  DEFINICION PRINCIPAL

   DEFINE THEME NAME "#TASKOK"

      ELEMENT TASKPANEL BACKGROUND {nRGB(  0, 60,108), nRGB(  0, 46, 83),1}                    ;
                        BORDERCOLOR nRGB( 21, 33, 67)                                          ;
                        BORDERTHICKNESS 1                                                      ;
                        PADDING 5

         ELEMENT SPECIAL GROUP

            ELEMENT HEADER   BACKGROUND      {nRGB(  0, 60,108),nRGB(  0, 98,170),-1}          ;
                             FOREGROUND      {nRGB(251,252,255),nRGB(192,193,195)   }          ;
                             BORDERCOLOR      nRGB(  0,106,186)                                ;
                             BORDERTHICKNESS 2                                                 ;
                             BUTTON COLLAPSE { ".\System\DownButton3.bmp" , ".\System\DownButton4.bmp" }   ;
                             BUTTON EXPAND   { ".\System\DownButton1.bmp" , ".\System\DownButton2.bmp" }   ;
                             FONT            {"Segoe UI Symbol",12}                            ;
                             FONTSTYLE       {"N" ,"N"}                                        ;
                             MARGIN TO PANEL 7                                                 ;
                             PADDING 5
            ENDELEMENT

            ELEMENT TASKLIST BACKGROUND       nRGB(252,253,255)                                ;
                             BORDERCOLOR      nRGB(  0,106,186)                                ;
                             BORDERTHICKNESS { 2, 0, 2, 2 }                                    ;
                             PADDING         5                                                 ;
                             MARGIN TO TASK  7

               ELEMENT TASK  BACKGROUND      {nRGB(252,253,255), nRGB( 52,123,254),-1}         ;
                             FOREGROUND      {nRGB( 67, 68, 70), nRGB(255,255, 26)   }         ;
                             FONT            {"Segoe UI Symbol",10}                            ;
                             FONTSTYLE       { "N", "N"  }                                     ;
                             PADDING         5
               ENDELEMENT

            ENDELEMENT

         ENDELEMENT

         ELEMENT NORMAL GROUP
            ELEMENT HEADER   BACKGROUND {nRGB(  8,  9, 11),nRGB( 55, 56, 58)}                  ;
                             FOREGROUND {nRGB(188,189,191),nRGB(255,255,255)}                  ;
                             BORDERCOLOR nRGB(166,167,169)                                     ;
                             BUTTON COLLAPSE { ".\System\DownButton3.bmp" , ".\System\DownButton4.bmp" }   ;
                             BUTTON EXPAND   { ".\System\DownButton1.bmp" , ".\System\DownButton2.bmp" }   ;
                             BORDERTHICKNESS 2                                                 ;
                             FONT {"Segoe UI Symbol",12}                                       ;
                             FONTSTYLE {"N","NU"}                                              ;
                             MARGIN TO PANEL 10
            ENDELEMENT
            ELEMENT TASKLIST BACKGROUND nRGB(255,201, 14)                                      ;
                             BORDERTHICKNESS 1                                                 ;
                             PADDING 5                                                         ;
                             MARGIN TO TASK 2

               ELEMENT TASK  BACKGROUND nRGB(239,228,176)                                      ;
                             FONT {"Sagoe UI Symbol",10}                                       ;
                             FOREGROUND nRGB(  0,163,232)                                      ;
                             PADDING { 2, 2, 2, 2 }
               ENDELEMENT
            ENDELEMENT
         ENDELEMENT
      ENDELEMENT
   ENDTHEME
 


lo uso asi:

Code: Select all  Expand view

      DEFINE TASKPANEL oOut OF oWnd SIZE 295, 400 ANCHOR LEFT THEME "#TASKOK" ANIMATE

         TASKGROUP " "+CRLF+"  Informes de Recepción"         BITMAP "WallFore_a.bmp"   SPECIAL
               TASKITEM " Recepción General de la Planta"     BITMAP "100.BMP"   ACTION oOut:CollapseAll(), RecepcionGralPlanta( oBtn )
               TASKITEM " Recepciones por día"                BITMAP "101.BMP"      ACTION oOut:CollapseAll(), RecepcionGralxDia  ( oBtn )
         ENDTASKGROUP

         TASKGROUP " "+CRLF+"  Producción y Proceso"          BITMAP ".\WallFore_b.bmp"  SPECIAL COLLAPSED
               TASKITEM " Procesos Realizado x Turno"         BITMAP "200.BMP"       ACTION oOut:CollapseAll(), Inf_ProduccionGral  ( oBtn )
               TASKITEM " Resumen de Producción x Dia"        BITMAP "201.BMP"    ACTION oOut:CollapseAll(), Inf_Produccion_xDias( oBtn )
               TASKITEM " Producto actualmente en Producción" BITMAP "202.BMP"       ACTION oOut:CollapseAll(), Inf_ProduccionActual( oBtn )
         ENDTASKGROUP
     ...
     ...
     ...
         TASKGROUP "   "+CRLF+"   Acerca de..."               BITMAP ".\System\Freeze\WallFore_f.con"          COLLAPSED
               TASKITEM "<b>"+__MAIN+"</b>"+"<p>Modulo de Congelado "+SUBSTR(__VERSION+oApp:cVersion,1,9)+"</p>"+"<p><b>Desarrollador</b></p>"+"<p>"+oApp:cAutor+"</p>" INFO
         ENDTASKGROUP
      ENDTASKPANEL
 


Resultado:

Image

Saca un ejemplo de aqui, por si te sirve algo, la verdar yo estoy muy conforme asi como esta, ja

Saludos
SkyPe: armando.lagunas@hotmail.com
Mail: armando.lagunas@gmail.com
User avatar
armando.lagunas
 
Posts: 346
Joined: Mon Oct 05, 2009 3:35 pm
Location: Curico-Chile

Re: Cómo refrescar un COMBOBOX? (SOLUCIONADO)

Postby joseluisysturiz » Tue Oct 31, 2017 5:06 pm

armando.lagunas wrote:Actualmente lo uso asi, con un theme standard que se llama "#TASKOK"

Aqui esta:

Code: Select all  Expand view

// Definición del tema para los TaskPannel

// **  DEFINICION PRINCIPAL

   DEFINE THEME NAME "#TASKOK"

      ELEMENT TASKPANEL BACKGROUND {nRGB(  0, 60,108), nRGB(  0, 46, 83),1}                    ;
                        BORDERCOLOR nRGB( 21, 33, 67)                                          ;
                        BORDERTHICKNESS 1                                                      ;
                        PADDING 5

         ELEMENT SPECIAL GROUP

            ELEMENT HEADER   BACKGROUND      {nRGB(  0, 60,108),nRGB(  0, 98,170),-1}          ;
                             FOREGROUND      {nRGB(251,252,255),nRGB(192,193,195)   }          ;
                             BORDERCOLOR      nRGB(  0,106,186)                                ;
                             BORDERTHICKNESS 2                                                 ;
                             BUTTON COLLAPSE { ".\System\DownButton3.bmp" , ".\System\DownButton4.bmp" }   ;
                             BUTTON EXPAND   { ".\System\DownButton1.bmp" , ".\System\DownButton2.bmp" }   ;
                             FONT            {"Segoe UI Symbol",12}                            ;
                             FONTSTYLE       {"N" ,"N"}                                        ;
                             MARGIN TO PANEL 7                                                 ;
                             PADDING 5
            ENDELEMENT

            ELEMENT TASKLIST BACKGROUND       nRGB(252,253,255)                                ;
                             BORDERCOLOR      nRGB(  0,106,186)                                ;
                             BORDERTHICKNESS { 2, 0, 2, 2 }                                    ;
                             PADDING         5                                                 ;
                             MARGIN TO TASK  7

               ELEMENT TASK  BACKGROUND      {nRGB(252,253,255), nRGB( 52,123,254),-1}         ;
                             FOREGROUND      {nRGB( 67, 68, 70), nRGB(255,255, 26)   }         ;
                             FONT            {"Segoe UI Symbol",10}                            ;
                             FONTSTYLE       { "N", "N"  }                                     ;
                             PADDING         5
               ENDELEMENT

            ENDELEMENT

         ENDELEMENT

         ELEMENT NORMAL GROUP
            ELEMENT HEADER   BACKGROUND {nRGB(  8,  9, 11),nRGB( 55, 56, 58)}                  ;
                             FOREGROUND {nRGB(188,189,191),nRGB(255,255,255)}                  ;
                             BORDERCOLOR nRGB(166,167,169)                                     ;
                             BUTTON COLLAPSE { ".\System\DownButton3.bmp" , ".\System\DownButton4.bmp" }   ;
                             BUTTON EXPAND   { ".\System\DownButton1.bmp" , ".\System\DownButton2.bmp" }   ;
                             BORDERTHICKNESS 2                                                 ;
                             FONT {"Segoe UI Symbol",12}                                       ;
                             FONTSTYLE {"N","NU"}                                              ;
                             MARGIN TO PANEL 10
            ENDELEMENT
            ELEMENT TASKLIST BACKGROUND nRGB(255,201, 14)                                      ;
                             BORDERTHICKNESS 1                                                 ;
                             PADDING 5                                                         ;
                             MARGIN TO TASK 2

               ELEMENT TASK  BACKGROUND nRGB(239,228,176)                                      ;
                             FONT {"Sagoe UI Symbol",10}                                       ;
                             FOREGROUND nRGB(  0,163,232)                                      ;
                             PADDING { 2, 2, 2, 2 }
               ENDELEMENT
            ENDELEMENT
         ENDELEMENT
      ENDELEMENT
   ENDTHEME
 


lo uso asi:

Code: Select all  Expand view

      DEFINE TASKPANEL oOut OF oWnd SIZE 295, 400 ANCHOR LEFT THEME "#TASKOK" ANIMATE

         TASKGROUP " "+CRLF+"  Informes de Recepción"         BITMAP "WallFore_a.bmp"   SPECIAL
               TASKITEM " Recepción General de la Planta"     BITMAP "100.BMP"   ACTION oOut:CollapseAll(), RecepcionGralPlanta( oBtn )
               TASKITEM " Recepciones por día"                BITMAP "101.BMP"      ACTION oOut:CollapseAll(), RecepcionGralxDia  ( oBtn )
         ENDTASKGROUP

         TASKGROUP " "+CRLF+"  Producción y Proceso"          BITMAP ".\WallFore_b.bmp"  SPECIAL COLLAPSED
               TASKITEM " Procesos Realizado x Turno"         BITMAP "200.BMP"       ACTION oOut:CollapseAll(), Inf_ProduccionGral  ( oBtn )
               TASKITEM " Resumen de Producción x Dia"        BITMAP "201.BMP"    ACTION oOut:CollapseAll(), Inf_Produccion_xDias( oBtn )
               TASKITEM " Producto actualmente en Producción" BITMAP "202.BMP"       ACTION oOut:CollapseAll(), Inf_ProduccionActual( oBtn )
         ENDTASKGROUP
     ...
     ...
     ...
         TASKGROUP "   "+CRLF+"   Acerca de..."               BITMAP ".\System\Freeze\WallFore_f.con"          COLLAPSED
               TASKITEM "<b>"+__MAIN+"</b>"+"<p>Modulo de Congelado "+SUBSTR(__VERSION+oApp:cVersion,1,9)+"</p>"+"<p><b>Desarrollador</b></p>"+"<p>"+oApp:cAutor+"</p>" INFO
         ENDTASKGROUP
      ENDTASKPANEL
 


Resultado:

Image

Saca un ejemplo de aqui, por si te sirve algo, la verdar yo estoy muy conforme asi como esta, ja

Saludos


Armando, gracias por tu respuesta, leyendo el manual y entre pruebas y ensayos logre lo que necesitaba hacer...es una estupenda clase y de verdad que ayuda bastante, lo que necesitaba hacer era algo especifico de un cliente...lastima que haya conocido esta clase tan tarde ya que estoy cambiando todas mis aplicaciones a usar RIBBON y la UI de Navarro ya que asi tengo mas espacio de pantalla para los controles de dialogo/folder, etc...igual muchas gracias de nuevo, saludos...gracias... :shock:
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 92 guests