Atualizar Combobox

Projeto HwGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

gilbertosilverio
Usuário Nível 3
Usuário Nível 3
Mensagens: 339
Registrado em: 18 Jan 2009 10:39
Localização: Ribeirao Pires - SP

Atualizar Combobox

Mensagem por gilbertosilverio »

Ola Amigos,

Estou tentando atualizar o combo BANCO, quando altero o path, ou seja uso a base de dados da filial que preciso, so que o combobox banco retorna em branco, analisando a matriz, ela e atualizada mais não da o refresh na combo.

Ja tentei de tudo mais não funciona, onde estou errando nesta rotina:

Código: Selecionar todos

FUNCTION teste_RECEBER()
  LOCAL xTITLE
  PRIVATE oLabel1, oGroup1, oButton1, oLabel2, oButton2, oButton3, oButton4, oButton5, oBrowse1, oDatepicker1, oDatepicker2
  PRIVATE xPESQ02, xPESQ10, xPESQ18, ThisMSD, aCOMBOLO:={}, oLoja, oLabel3, oLabel4
  PRIVATE oDlgMSD1, DTINI:=DATE(), DTFIM:=DATE(), nORDEM:=3, nORDEMao:=3
  PRIVATE vRadiogroup1:=1, oRadiogroup1, oRadiobutton1, oRadiobutton2, oRadiobutton3
  PRIVATE vRadiogroup2:=1, oRadiogroup2, oRadio1, oRadio2, oRadio3, vLOJA:=1

  PRIVATE oCombo1, nCombo1:=1, aItems1:={}, aItems2:={}

  DBCLOSEALL()
  /*
  USE xANCO NEW SHARED ALIAS BANCO
  SET INDEX TO xCOCOD, xCORAZ
  BANCO->(DBGOTOP())
  DO WHILE .T.
     AADD( aItems1, STRZERO(CODBCO,3)+[ - ]+BANCO  )
     AADD( aItems2, { STRZERO(CODBCO,3), BANCO, NCONTA, AGENCIA, CIDADE } )
     BANCO->(DBSKIP())
     IF BANCO->(EOF())
        EXIT
     ENDIF
  ENDDO
  DBCLOSEALL()
  */

  xTITLE:="Relaçao de CONTAS A RECEBER"
  aCOMBOLO:={ [ONCO GO 0001-99 ], ;   // 0002-39
              [ONCO SP 0002-70 ]  }

  INIT DIALOG oDlgMSD1 TITLE xTITLE AT 0, 0 SIZE 1092,630         ;
       FONT HFont():Add( 'tahoma',0,-13,400,,,) CLIPPER  NOEXIT   ;
       STYLE WS_POPUP+WS_CAPTION+WS_SYSMENU+WS_SIZEBOX+DS_CENTER

       //@ 12,7 GROUPBOX oGroup1 CAPTION "Entre periodo para a gerar o relatorio "  SIZE 890,133 STYLE BS_LEFT

       @  19,47 SAY oLabel1 CAPTION "Periodo"         SIZE  61,21
       @  90,44 GET DATEPICKER oDatepicker1 VAR DTINI SIZE 130,24

       @ 230,47 SAY oLabel2 CAPTION "a"               SIZE  10,21
       @ 245,44 GET DATEPICKER oDatepicker2 VAR DTFIM SIZE 130,24

       @ 380, 27 SAY oLabel3 CAPTION "Empresa:"  TRANSPARENT SIZE 90,21
       @ 380, 44 GET COMBOBOX oLOJA VAR vLOJA ITEMS aCOMBOLO SIZE 200,24 STYLE WS_TABSTOP DISPLAYCOUNT 6 ;
                     ON CHANGE {|| TROCA_DIR(@vLOJA), MONTA_COMBO(@aItems1), oCOMBO1:REFRESH(), oCOMBO1:SETFOCUS() }

       @  380, 70 SAY "Banco:"     TRANSPARENT   SIZE 150,22
       @  380, 92 GET COMBOBOX oCombo1 VAR nCOMBO1 ITEMS aItems1 TEXT SIZE 200,24 STYLE WS_TABSTOP DISPLAYCOUNT 10 ;
                      ON CHANGE {||  ACERTA_BCO() }

       @ 600,07 GET RADIOGROUP oRadiogroup1 VAR vRadiogroup1  CAPTION "Pesquisar por " SIZE 140,133  STYLE BS_LEFT
            @ 610,30 RADIOBUTTON oRadiobutton1 CAPTION "Vencimento"    SIZE 125,22 ON CLICK {|| oRadio1_Onclick() }  // nordem
            @ 610,53 RADIOBUTTON oRadiobutton2 CAPTION "Pagamentos"    SIZE 125,22 ON CLICK {|| oRadio2_Onclick() }
            @ 610,76 RADIOBUTTON oRadiobutton3 CAPTION "Emissão"       SIZE 125,22 ON CLICK {|| oRadio3_Onclick() }
       END RADIOGROUP oRadiogroup1 SELECTED nORDEM

       @ 750,07 GET RADIOGROUP oRadiogroup2 VAR vRadiogroup2  CAPTION "Duplicatas " SIZE 140,133  STYLE BS_LEFT
            @ 760,30 RADIOBUTTON oRadio1 CAPTION "Pagas    "    SIZE 125,22 ON CLICK {|| aoRadio1_Onclick() }        // nORDEMao
            @ 760,53 RADIOBUTTON oRadio2 CAPTION "Não pagas"    SIZE 125,22 ON CLICK {|| aoRadio2_Onclick() }
            @ 760,76 RADIOBUTTON oRadio3 CAPTION "Todas    "    SIZE 125,22 ON CLICK {|| aoRadio3_Onclick() }
       END RADIOGROUP oRadiogroup2 SELECTED nORDEMao

       @ 940,32 BUTTON oButton1 CAPTION "Pes&quisar"  SIZE 120,88 STYLE BS_CENTER+WS_TABSTOP ;
                ON CLICK {|| oDlgMSD1:CLOSE(), iRECEBER() }

       @ 12,143 BROWSE oBrowse1 ARRAY OF oDLGMSD1  SIZE 1060,387 STYLE WS_TABSTOP+WS_HSCROLL

       @ 975,579 BUTTON oButton2 CAPTION "&Sair"   SIZE 100,30 STYLE BS_CENTER+WS_TABSTOP  ;
                 ON CLICK {|| DBCLOSEALL(), oDlgMSD1:CLOSE() }

   ACTIVATE DIALOG oDlgMSD1

RETURN NIL
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *>
FUNCTION TROCA_DIR(vLOJA)
      SET DEFAULT TO
      SET PATH TO
      IF vLOJA = 1  // MATRIZ
         aPASTA:=CurDrive()+[:\Sistemas\DadosGoias\]
      ELSEIF vLOJA = 2
         aPASTA:=CurDrive()+[:\Sistemas\OncoHOSP\]
      ELSE
         aPASTA:=CurDrive()+[:\Sistemas\DadosGoias\]
      ENDIF
      SET DEFAULT TO &aPASTA
      SET PATH    TO &aPASTA
RETURN .T.
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *>
FUNCTION MONTA_COMBO()
      aITEMS1:={} ; aITEMS2:={}
      DBCLOSEALL()
      USE xANCO NEW SHARED ALIAS BANCO
      SET INDEX TO xCOCOD, xCORAZ
      BANCO->(DBGOTOP())
      DO WHILE .T.
         AADD( aItems1, STRZERO(CODBCO,3)+[ - ]+BANCO  )
         AADD( aItems2, { STRZERO(CODBCO,3), BANCO, NCONTA, AGENCIA, CIDADE } )
         BANCO->(DBSKIP())
         IF BANCO->(EOF())
            EXIT
         ENDIF
      ENDDO
      DBCLOSEALL()
RETURN NIL
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *>
function acerta_bco()
// teste
return nil
:% :% :% :%

Grato.
GilbertoSilverio
gilbertosilverio@gmail.com
gilbertosilverio2003@yahoo.com.br
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Atualizar Combobox

Mensagem por alxsts »

Olá.

Toda vez que alterar os itens do combobox, execute uma chamada ao método requery() para atualizar o combo.

Código: Selecionar todos

oComboLo:requery ()
[]´s
Alexandre Santos (AlxSts)
Responder