Editar Coluna no Hbrowse

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

Editar Coluna no Hbrowse

Mensagem por gilbertosilverio »

Ola Amigos,

Montei esta rotina, estou tentando editar uma coluna, mais as colunas não ficam editáveis, ja fiz de tudo, mais nao funciona, onde estou errando:

Código: Selecionar todos


FUNCTION teste()
  LOCAL   oLabel1, oGroup1, oDatepicker2, oButton1, oLabel2, oDatepicker1, oButton2, oButton3
  LOCAL  oButton4, oButton5
  PRIVATE xPESQ02, xPESQ10, xPESQ18, ThisMSD
  PRIVATE oDlgMSD, dDatepicker2:=date(), dDatepicker1:=date(), oBrowse2, MATA:={}

  INIT DIALOG oDlgMSD TITLE "Relação "    AT 0, 0 SIZE 1092,630 ;
         FONT HFont():Add( 'Verdana',0,-14,400,,,) CLIPPER  NOEXIT   ;
         STYLE WS_POPUP+WS_CAPTION+WS_SYSMENU+WS_SIZEBOX+DS_CENTER

  ThisMSD := oDlgMSD

   @ 12,7 GROUPBOX oGroup1 CAPTION "Entre periodo para a procura das vendas MSD"  SIZE 457,83 STYLE BS_LEFT

   @  19,47 SAY oLabel1 CAPTION "Periodo"  SIZE 61,21
   @  92,44 GET DATEPICKER oDatepicker1 VAR dDatepicker1 SIZE 108,24

   @ 210,47 SAY oLabel2 CAPTION "a"  SIZE 10,21
   @ 225,44 GET DATEPICKER oDatepicker2 VAR dDatepicker2 SIZE 108,24

   @ 341,44 BUTTON oButton1 CAPTION "Pes&quisar"  SIZE 90,26 STYLE BS_CENTER +WS_TABSTOP ;
                   ON CLICK {|| Pesquisar_MSD(), oBrowse2:Refresh(), oBrowse2:SetFocus(), thismsd:refresh() }

   @ 12,103 BROWSE oBrowse2 ARRAY SIZE 1060,427 AUTOEDIT STYLE WS_TABSTOP+WS_HSCROLL   ;
                   ON UPDATE {|| oBrowse2:Refresh(), oBrowse2:SetFocus(), thismsd:refresh() }

   if len(mata) > 0
        oBrowse2:aColumns[01]:heading  :=  [Nº NFe]
         oBrowse2:aColumns[02]:heading  :=  [Razao Social]
         oBrowse2:aColumns[03]:heading  :=  [CodPro]
         oBrowse2:aColumns[04]:heading  :=  [Descricao do Produto]
         oBrowse2:aColumns[05]:heading  :=  [Emissao]
         oBrowse2:aColumns[06]:heading  :=  [Qtde]
         oBrowse2:aColumns[07]:heading  :=  [Vlr Unitario]
         oBrowse2:aColumns[08]:heading  :=  [Vlr Total]
         oBrowse2:aColumns[09]:heading  :=  [EAN]
         oBrowse2:aColumns[10]:heading  :=  [CNPJ]
         oBrowse2:aColumns[11]:heading  :=  [S_PEDIDO]
         oBrowse2:aColumns[12]:heading  :=  [Cidade]
         oBrowse2:aColumns[13]:heading  :=  [UF]
         oBrowse2:aColumns[14]:heading  :=  [Laboratorio]
         oBrowse2:aColumns[15]:heading  :=  [EMAIL]
         oBrowse2:aColumns[16]:heading  :=  [Preco Fab]
         oBrowse2:aColumns[17]:heading  :=  [Pedido]
         oBrowse2:aColumns[18]:heading  :=  [Conve]

         oBrowse2:aColumns[01]:nJusHead := DT_LEFT
         oBrowse2:aColumns[02]:nJusHead := DT_LEFT
         oBrowse2:aColumns[03]:nJusHead := DT_LEFT
         oBrowse2:aColumns[04]:nJusHead := DT_LEFT
         oBrowse2:aColumns[05]:nJusHead := DT_LEFT
         oBrowse2:aColumns[06]:nJusHead := DT_LEFT
         oBrowse2:aColumns[07]:nJusHead := DT_LEFT
         oBrowse2:aColumns[08]:nJusHead := DT_LEFT
         oBrowse2:aColumns[09]:nJusHead := DT_LEFT
         oBrowse2:aColumns[10]:nJusHead := DT_LEFT
         oBrowse2:aColumns[11]:nJusHead := DT_LEFT

         oBrowse2:aColumns[01]:nJusLin  := DT_LEFT
         oBrowse2:aColumns[02]:nJusLin  := DT_LEFT
         oBrowse2:aColumns[03]:nJusLin  := DT_LEFT
         oBrowse2:aColumns[04]:nJusLin  := DT_LEFT
         oBrowse2:aColumns[05]:nJusLin  := DT_LEFT
         oBrowse2:aColumns[06]:nJusLin  := DT_LEFT
         oBrowse2:aColumns[07]:nJusLin  := DT_RIGHT
         oBrowse2:aColumns[08]:nJusLin  := DT_RIGHT
         oBrowse2:aColumns[09]:nJusLin  := DT_RIGHT
         oBrowse2:aColumns[10]:nJusLin  := DT_RIGHT
         oBrowse2:aColumns[11]:nJusLin  := DT_RIGHT

         oBrowse2:aColumns[02]:headColor:= 255
         oBrowse2:aColumns[04]:headColor:= 255
         oBrowse2:aColumns[10]:headColor:= 255
         oBrowse2:aColumns[18]:headColor:= 255

         oBrowse2:aColumns[02]:lEditable := .t.
         oBrowse2:aColumns[02]:Picture   := [@!]

         oBrowse2:aColumns[10]:lEditable := .t.

         oBrowse2:aColumns[18]:lEditable := .t.

         oBrowse2:aColumns[02]:Length  := 50

         oBrowse2:aColumns[02]:bHeadClick := {|| MSD_oBrw2_2_onHeadClick() }
         oBrowse2:aColumns[04]:bHeadClick := {|| MSD_oBrw2_4_onHeadClick() }

         oBrowse2:Refresh()
         oBrowse2:SetFocus()
         CLOSE DATA
    endif

   @ 980,579 BUTTON oButton2 CAPTION "&Sair"      SIZE 90,30 STYLE BS_CENTER+WS_TABSTOP  ;
                     ON CLICK {|| oDlgMSD:CLOSE() }

   ACTIVATE DIALOG oDlgMSD

RETURN NIL

Código: Selecionar todos


FUNCTION PESQUISAR_MSD()
      LOCAL xCODCLI:=0, xCIDADE, xUF
      LOCAL DTINI:=dDatepicker1, DTFIM:=dDatepicker2
      LOCAL BB:=94

      CLOSE DATA
      USE xFORNECE NEW SHARED
      SET INDEX TO xFORCOD, xFORNCH
      DBSEEK ( BB, .F.)
      IF FOUND()
          BB:=COD ; FORNE:=NCHAVE
      ELSE
          CLOSE DATA
          RETURN NIL
      ENDIF

      CLOSE DATA
      SELECT(1)
      USE xESTOQUE NEW SHARED
      SET INDEX TO xESTCOD

      SELECT(2)
      USE xENDAS NEW SHARED
      SET INDEX TO xENDADAT

      SELECT(3)
      USE xCLIENTE NEW SHARED
      SET INDEX TO xRCLICOD

      SELECT(4)
      USE xMITI NEW SHARED
      SET INDEX TO xMINNF

      SELECT(2)
      GO BOTTOM
      DBSEEK(DTINI , .T.)

      MATA:={} ; B:=0 ; CONTA:=0

      oBar:=HProgressBar():NewBox( "Lendo, "+ str(CONTA,6)+" de "+xENDAS->(str(LASTREC(),6))+" Registro(s)",,,350,,LASTREC())

      DO WHILE DATANF >= DTINI .AND. DATANF <= DTFIM

            IF ( CODPROD = 24 .OR. CODPROD = 25 .OR. CODPROD = 26 .OR. CODPROD = 27 .OR. CODPROD = 570 .OR.;
                  CODPROD = 98 .OR.  CODPROD = 3850 )
            SELECT(2)
            xCODCLI:=CODCLI ;  xCodigoDoProduto:=CODPROD ; xNOTA:=NOTA
            SELECT(3)
            DBSEEK(xCODCLI, .F.)
            IF FOUND()
                xCIDADE:=CIDADE   ; xUF:=ESTA      ; xCNPJ:=CGC       ; xEMAIL:=EMAIL ; xPORTO:=PORTOSEG ; xRAZ:=RAZAO
            ELSE
                xCIDADE:=SPAC(22) ; xUF:=SPAC(02)  ; xCNPJ:=SPAC(18)  ; xEMAIL:=[]    ; xPORTO:=0        ; xRAZ:=[]
            ENDIF
            IF xPORTO > 0
               DBSEEK(xPORTO, .F.)
               IF FOUND()
                  xCNPJ:=CGC ; xRAZ:=RAZAO
               ENDIF
            ENDIF
            SELECT(4)
            DBSEEK(xNOTA, .F.)
            IF FOUND()
               xSPEDIDO:=SPEDIDO
            ELSE
               xSPEDIDO:=SPAC(15)
            ENDIF
            SELECT(1)
            DBSETORDER(1)
            DBSEEK(xCodigodoProduto, .f.)
            IF FOUND()
                xCodigodoFornecedor:=codfornece ; xFORNE:=FORNECEDOR ; xEAN:=RETIRAPONTO(EAN) ; xPF:=TABELA01
            ELSE
                xCodigodoFornecedor:=0 ; xFORNE:=SPAC(50) ; xEAN:=SPAC(13) ; xPF:=0
            ENDIF
            SELECT(2)
            IF DATANF >= DTINI .AND. DATANF <= DTFIM .AND. TIPO = 1
            LINHA:={ STRZERO(NOTA,9), xRAZ, STRZERO(CODPROD,6), DESCRICAO, DTOC(DATANF), STR(QTDE,8), STR(VALOR,9,2), ;
                            STR(ROUND((QTDE*VALOR),2),10,2), xEAN, xCNPJ, xSPEDIDO, xCIDADE, xUF, xFORNE, xEMAIL, STR(xPF,12,2), ;
                            STRZERO(PEDIDO,7), xPORTO }
               AADD(MATA, LINHA) ; B++
            ENDIF
         ELSE
            SELECT(2)
            xCODCLI:=CODCLI ;  xCodigoDoProduto:=CODPROD ; xNOTA:=NOTA
            SELECT(3)
            DBSEEK(xCODCLI, .F.)
            IF FOUND()
               xCIDADE:=CIDADE   ; xUF:=ESTA      ; xCNPJ:=CGC       ; xEMAIL:=EMAIL ; xPORTO:=PORTOSEG ; xRAZ:=RAZAO
            ELSE
               xCIDADE:=SPAC(22) ; xUF:=SPAC(02)  ; xCNPJ:=SPAC(18)  ; xEMAIL:=[]    ; xPORTO:=0        ; xRAZ:=[]
            ENDIF
            IF xPORTO > 0
               DBSEEK(xPORTO, .F.)
               IF FOUND()
                  xCNPJ:=CGC ; xRAZ:=RAZAO
               ENDIF
            ENDIF
            SELECT(4)
            DBSEEK(xNOTA, .F.)
            IF FOUND()
               xSPEDIDO:=SPEDIDO
            ELSE
               xSPEDIDO:=SPAC(15)
            ENDIF
            SELECT(1)
            DBSETORDER(1)
            DBSEEK(xCodigodoProduto, .f.)
            IF FOUND()
               xCodigodoFornecedor:=codfornece ; xFORNE:=FORNECEDOR ; xEAN:=RETIRAPONTO(EAN) ; xPF:=TABELA01
            ELSE
               xCodigodoFornecedor:=0 ; xFORNE:=SPAC(50) ; xEAN:=SPAC(13) ; xPF:=0
            ENDIF
            SELECT(2)
            IF SUBSTR(xFORNE,1,8) = [SCHERING]
               IF DATANF >= DTINI .AND. DATANF <= DTFIM .AND. TIPO = 1
                LINHA:={ STRZERO(NOTA,9), xRAZ, STRZERO(CODPROD,6), DESCRICAO, DTOC(DATANF), STR(QTDE,8), STR(VALOR,9,2),;
                               STR(ROUND((QTDE*VALOR),2),10,2), xEAN,  xCNPJ, xSPEDIDO, xCIDADE, xUF, xFORNE, xEMAIL, STR(xPF,12,2), ;
                               STRZERO(PEDIDO,7), xPORTO }
                  AADD(MATA, LINHA) ; B++
              ENDIF
            ENDIF
         ENDIF
         DBSKIP()
         CONTA++
         oBar:Step("Lendo, "+str(CONTA,6)+" de "+xENDAS->(Str(LASTREC(),6))+" Registro(s)")
         IF EOF()
            EXIT
         ELSEIF DATANF > DTFIM
            EXIT
         ENDIF
      ENDDO

      oBAR:CLOSE()
      CLOSE DATA

      IF LEN(MATA) = 0
         HWG_MSGINFO([Dados nâo localizados])
         CLOSE DATA
      ELSE
         Hwg_CREATEARLIST( oBrowse2, Mata )
         oBrowse2:lAutoEdit := .T.
         oBrowse2:tColorSel := 16777215 // cor do texto na linha branco
         oBrowse2:bcolorSel := 8421504  //16711680 // cor da linha          azul
         oBrowse2:lDispHead := .T.
         oBrowse2:lSep3d    := .T.
         oBrowse2:lAdjRight := .T.
         oBrowse2:aColumns[01]:heading  :=  [Nº NFe]
         oBrowse2:aColumns[02]:heading  :=  [Razao Social]
         oBrowse2:aColumns[03]:heading  :=  [CodPro]
         oBrowse2:aColumns[04]:heading  :=  [Descricao do Produto]
         oBrowse2:aColumns[05]:heading  :=  [Emissao]
         oBrowse2:aColumns[06]:heading  :=  [Qtde]
         oBrowse2:aColumns[07]:heading  :=  [Vlr Unitario]
         oBrowse2:aColumns[08]:heading  :=  [Vlr Total]
         oBrowse2:aColumns[09]:heading  :=  [EAN]
         oBrowse2:aColumns[10]:heading  :=  [CNPJ]
         oBrowse2:aColumns[11]:heading  :=  [S_PEDIDO]
         oBrowse2:aColumns[12]:heading  :=  [Cidade]
         oBrowse2:aColumns[13]:heading  :=  [UF]
         oBrowse2:aColumns[14]:heading  :=  [Laboratorio]
         oBrowse2:aColumns[15]:heading  :=  [EMAIL]
         oBrowse2:aColumns[16]:heading  :=  [Preco Fab]
         oBrowse2:aColumns[17]:heading  :=  [Pedido]
         oBrowse2:aColumns[18]:heading  :=  [Conve]

         oBrowse2:aColumns[01]:nJusHead := DT_LEFT
         oBrowse2:aColumns[02]:nJusHead := DT_LEFT
         oBrowse2:aColumns[03]:nJusHead := DT_LEFT
         oBrowse2:aColumns[04]:nJusHead := DT_LEFT
         oBrowse2:aColumns[05]:nJusHead := DT_LEFT
         oBrowse2:aColumns[06]:nJusHead := DT_LEFT
         oBrowse2:aColumns[07]:nJusHead := DT_LEFT
         oBrowse2:aColumns[08]:nJusHead := DT_LEFT
         oBrowse2:aColumns[09]:nJusHead := DT_LEFT
         oBrowse2:aColumns[10]:nJusHead := DT_LEFT
         oBrowse2:aColumns[11]:nJusHead := DT_LEFT

         oBrowse2:aColumns[01]:nJusLin  := DT_LEFT
         oBrowse2:aColumns[02]:nJusLin  := DT_LEFT
         oBrowse2:aColumns[03]:nJusLin  := DT_LEFT
         oBrowse2:aColumns[04]:nJusLin  := DT_LEFT
         oBrowse2:aColumns[05]:nJusLin  := DT_LEFT
         oBrowse2:aColumns[06]:nJusLin  := DT_LEFT
         oBrowse2:aColumns[07]:nJusLin  := DT_RIGHT
         oBrowse2:aColumns[08]:nJusLin  := DT_RIGHT
         oBrowse2:aColumns[09]:nJusLin  := DT_RIGHT
         oBrowse2:aColumns[10]:nJusLin  := DT_RIGHT
         oBrowse2:aColumns[11]:nJusLin  := DT_RIGHT

         oBrowse2:aColumns[02]:headColor:= 255
         oBrowse2:aColumns[04]:headColor:= 255
         oBrowse2:aColumns[10]:headColor:= 255
         oBrowse2:aColumns[18]:headColor:= 255

         oBrowse2:aColumns[02]:lEditable := .t.
         oBrowse2:aColumns[02]:Picture   := [@!]

         oBrowse2:aColumns[10]:lEditable := .t.

         oBrowse2:aColumns[18]:lEditable := .t.

         oBrowse2:aColumns[02]:Length  := 50

         oBrowse2:aColumns[02]:bHeadClick := {|| MSD_oBrw2_2_onHeadClick() }
         oBrowse2:aColumns[04]:bHeadClick := {|| MSD_oBrw2_4_onHeadClick() }

         oBrowse2:Refresh()
         oBrowse2:SetFocus()
         CLOSE DATA
      ENDIF

RETURN NIL
Grato.
GilbertoSilverio
gilbertosilverio@gmail.com
gilbertosilverio2003@yahoo.com.br
Avatar do usuário
binho_fasa
Usuário Nível 2
Usuário Nível 2
Mensagens: 93
Registrado em: 06 Jul 2004 12:53
Localização: Brazil
Contato:

Editar Coluna no Hbrowse

Mensagem por binho_fasa »

Amigo, tente remover o Autoedit e deixe oBrowse2:aColumns[XX]:lEditable := .T.

[]´s
Fabio Souza
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

Editar Coluna no Hbrowse

Mensagem por gilbertosilverio »

Fabio,

Ja tentei dessa sua maneira, retirei o AUTOEDIT coloquei somente o oBrowse2:lAutoEdit := .T., mais não vai nem a pau... :%

Vamos ver se algum mestre da Hwgui me socorre...

Grato.
:% :% :%
GilbertoSilverio
gilbertosilverio@gmail.com
gilbertosilverio2003@yahoo.com.br
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Editar Coluna no Hbrowse

Mensagem por sygecom »

Acredito que seu problema está no ON UPDATE

SEU ESTÁ ASSIM:
@ 12,103 BROWSE oBrowse2 ARRAY SIZE 1060,427 AUTOEDIT STYLE WS_TABSTOP+WS_HSCROLL ;
ON UPDATE {|| oBrowse2:Refresh(), oBrowse2:SetFocus(), thismsd:refresh() }


MUDE PARA:
@ 12,103 BROWSE oBrowse2 ARRAY SIZE 1060,427 STYLE WS_TABSTOP+WS_HSCROLL


E teste
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
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

Editar Coluna no Hbrowse

Mensagem por gilbertosilverio »

Ola Leonardo,

Não resolveu...

Acho que o problema esta na chamada que faço PESQUISAR_MSD().

Tentei montar somente a matriz e criar o browse na função teste(), mais fica em branco...

Essa ta me batendo... :% :% :%

Voce não tem um exemplo, bem básico, baseada nesta situação: Montar uma matriz, através de um período mostrar em um browse e editar os campos dela, para eu testar aqui.

Grato.
GilbertoSilverio
gilbertosilverio@gmail.com
gilbertosilverio2003@yahoo.com.br
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Editar Coluna no Hbrowse

Mensagem por sygecom »

Abaixo um exemplo:

Código: Selecionar todos

#include "hwgui.ch"

FUNCTION TESTE_ARRAY
LOCAL oDLG_PENDENCIAS, oPage1, oBr2
LOCAL aNOTICIAS:={},nI:=0

AADD(aNOTICIAS,{.F.,1,DATE(),TIME(),'TESTE 1'})
AADD(aNOTICIAS,{.T.,2,DATE(),TIME(),'TESTE 2'})
AADD(aNOTICIAS,{.F.,3,DATE(),TIME(),'TESTE 3'})
AADD(aNOTICIAS,{.T.,4,DATE(),TIME(),'TESTE 4'})
AADD(aNOTICIAS,{.F.,5,DATE(),TIME(),'TESTE 5'})
AADD(aNOTICIAS,{.T.,6,DATE(),TIME(),'TESTE 6'})
AADD(aNOTICIAS,{.F.,7,DATE(),TIME(),'TESTE 7'})
AADD(aNOTICIAS,{.T.,8,DATE(),TIME(),'TESTE 8'})
AADD(aNOTICIAS,{.F.,9,DATE(),TIME(),'TESTE 9'})
AADD(aNOTICIAS,{.T.,10,DATE(),TIME(),'TESTE 10'})

INIT WINDOW oDLG_PENDENCIAS MDICHILD TITLE "Avisos do Sistema" var oDLG_PENDENCIAS AT 0,0 ;
     SIZE 800,_OTELAPRINCIPAL():nHeight-270;
     FONT HFont():Add( '',0,-13,400,,,);
     STYLE WS_CAPTION+DS_CENTER +WS_SYSMENU+WS_MINIMIZEBOX+WS_CHILD;
     ICON _oICONE_SAGI();
     ON INIT  {|| IIF(aNOTICIAS[1,5]='DELETAR',ADEL(aNOTICIAS,1,.T.),),.T. }

@ 1,1 TAB oPage1 ITEMS {} SIZE oDLG_PENDENCIAS:nWidth-10,oDLG_PENDENCIAS:nHeight-80;
STYLE 0 +0
BEGIN PAGE 'Notícias / Avisos' OF oPage1
   @ 10,30 BROWSE oBr2 ARRAY SIZE oDLG_PENDENCIAS:nWidth-30,oDLG_PENDENCIAS:nHeight-240;
   TOOLTIP 'Clique na Notica para marcar como lida';
   STYLE WS_TABSTOP;
   FONT HFont():Add( '',0,-11,400,,,)

   oBr2:aArray := aNOTICIAS
   CreateArList( oBr2, aNOTICIAS )
   oBr2:lESC :=.T.

   oBr2:aColumns[1]:heading := 'Lida'
   oBr2:aColumns[2]:heading := 'ID'
   oBr2:aColumns[3]:heading := 'Data'
   oBr2:aColumns[4]:heading := 'Hora'
   oBr2:aColumns[5]:heading := 'Descrição'

   oBr2:aColumns[1]:lEDITABLE:= .T.
   oBr2:aColumns[1]:bVALID := {|x|  ShowMsg('clicou no browse'+valtoprg(x)), .T.  }

   oBr2:aColumns[2]:length := 7

   FOR nI := 1 TO Len(oBr2:aColumns)
      oBr2:aColumns[nI]:nJusHead    := DT_CENTER    //CENTRALIZA NO NOME DO CAMPO
      oBr2:aColumns[nI]:nJusLin     := DT_LEFT      //COLOCA PARA ESQUERDA LINHA

      oBr2:aColumns[nI]:bColorBlock := {|| IIF(oBr2:aArray[oBr2:nCURRENT,1],;
                                               {x_BLUE,  x_WHITE, x_GREEN, x_CYAN} ,;
                                               {x_RED ,  x_WHITE, x_GREEN, x_CYAN} ) }
   NEXT

   @ 10,oBr2:nHeight+30  SAY "Detalhes / Historico:" SIZE 68,20 TRANSPARENT
   @ oDLG_PENDENCIAS:nWidth-50 ,oBr2:nHeight+30  SAY "Lida"     SIZE 30,20 TRANSPARENT COLOR x_BLUE
   @ oDLG_PENDENCIAS:nWidth-110,oBr2:nHeight+30  SAY "Não Lida" SIZE 30,20 TRANSPARENT COLOR x_RED

END PAGE OF oPage1

   @ oDLG_PENDENCIAS:nWidth-130,oDLG_PENDENCIAS:nHeight-75 BUTTONEX "&Sair"   SIZE 120,38 STYLE WS_TABSTOP;
   BITMAP (HBitmap():AddResource(1003)):handle;
   ON CLICK {|| oDLG_PENDENCIAS:CLOSE()  }

ACTIVATE WINDOW oDLG_PENDENCIAS

RETURN(.T.)

Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
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

Editar Coluna no Hbrowse

Mensagem por gilbertosilverio »

Ola Leonardo,

Obrigado pela ajuda.

Uso da mesma maneira que teu exemplo a edição do Browse, o erro ocorre quando faço a pesquisa e monto uma matriz fora da função, quando retorno a função com os dados o Browse não fica editável.

Ja faço assim, crio um box de mensagem, solicitando o período e depois monto o Browse para edição, ai ele funciona.

Se não tem tu, vai tu mesmo... rsrsrsr

Depois vou testar na Hwgui 2.20 e ve se funciona.

Grato pela sua atenção.
GilbertoSilverio
gilbertosilverio@gmail.com
gilbertosilverio2003@yahoo.com.br
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

Editar Coluna no Hbrowse

Mensagem por gilbertosilverio »

Ola amigos,

Este exemplo, so funciona na hwgui 2.20, na minha hwgui 2.17 não vai nem querendo, não retorna a coluna editavel...

Código: Selecionar todos

#include "hwgui.ch"

FUNCTION main()
 LOCAL oLabel1, oGroup1, oDatepicker2, oButton1, oLabel2, oDatepicker1, oButton2, oButton3
 LOCAL oButton4, oButton5
 PRIVATE xPESQ02, xPESQ10, xPESQ18, ThisMSD
 PRIVATE oDlgMSD, dDatepicker2:=date(), dDatepicker1:=date(), oBrowse2, MATA:={}

 INIT DIALOG oDlgMSD TITLE "Relação "  AT 0, 0 SIZE 1092,630 ;
    FONT HFont():Add( 'Verdana',0,-14,400,,,) CLIPPER NOEXIT ;
    STYLE WS_POPUP+WS_CAPTION+WS_SYSMENU+WS_SIZEBOX+DS_CENTER

 ThisMSD := oDlgMSD

 @ 12,7 GROUPBOX oGroup1 CAPTION "Entre periodo para a procura das vendas MSD" SIZE 457,83 STYLE BS_LEFT

 @ 19,47 SAY oLabel1 CAPTION "Periodo" SIZE 61,21
 @ 92,44 GET DATEPICKER oDatepicker1 VAR dDatepicker1 SIZE 108,24

 @ 210,47 SAY oLabel2 CAPTION "a" SIZE 10,21
 @ 225,44 GET DATEPICKER oDatepicker2 VAR dDatepicker2 SIZE 108,24

 @ 341,44 BUTTON oButton1 CAPTION "Pes&quisar" SIZE 90,26 STYLE BS_CENTER +WS_TABSTOP ;
         ON CLICK {|| Pesquisar_MSD(), oBrowse2:Refresh(), oBrowse2:SetFocus() }

 @ 12,103 BROWSE oBrowse2 ARRAY SIZE 1060,427 AUTOEDIT STYLE WS_TABSTOP+WS_HSCROLL

 oBrowse2:Refresh()
 oBrowse2:SetFocus()


 @ 980,579 BUTTON oButton2 CAPTION "&Sair"   SIZE 90,30 STYLE BS_CENTER+WS_TABSTOP ;
          ON CLICK {|| oDlgMSD:CLOSE() }

 ACTIVATE DIALOG oDlgMSD

RETURN NIL

FUNCTION PESQUISAR_MSD()
   mata:={}
   
   aadd(mata, { [0001], [teste de razao], [cnpj]})
   aadd(mata, { [0002], [teste de razao], [cnpj]})
   aadd(mata, { [0003], [teste de razao], [cnpj]})

    oBrowse2:aarray := mata

    Hwg_CREATEARLIST( oBrowse2, Mata )

    oBrowse2:aColumns[01]:heading := [Nº NFe]
    oBrowse2:aColumns[02]:heading := [Razao Social]
    oBrowse2:aColumns[03]:heading := [CodPro]

    oBrowse2:aColumns[01]:nJusHead := DT_LEFT
    oBrowse2:aColumns[02]:nJusHead := DT_LEFT
    oBrowse2:aColumns[03]:nJusHead := DT_LEFT

    oBrowse2:aColumns[01]:nJusLin := DT_LEFT
    oBrowse2:aColumns[02]:nJusLin := DT_LEFT
    oBrowse2:aColumns[03]:nJusLin := DT_LEFT

    oBrowse2:aColumns[02]:lEditable := .t.
    oBrowse2:aColumns[02]:Picture := [@!]

    oBrowse2:aColumns[02]:Length := 50

    oBrowse2:Refresh()
    oBrowse2:SetFocus()

RETURN .t.
GilbertoSilverio
gilbertosilverio@gmail.com
gilbertosilverio2003@yahoo.com.br
Responder