Clipper On Line • Ver Tópico - Editar Coluna no Hbrowse

Editar Coluna no Hbrowse

Projeto HwGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

Editar Coluna no Hbrowse

Mensagempor gilbertosilverio » 16 Jun 2017 13:20

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:

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




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
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 332
Data de registro: 18 Jan 2009 09:39
Cidade/Estado: Ribeirao Pires - SP
Curtiu: 1 vez
Mens.Curtidas: 23 vezes

Editar Coluna no Hbrowse

Mensagempor binho_fasa » 16 Jun 2017 14:19

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

[]´s
Fabio Souza
Avatar de usuário

binho_fasa
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 92
Data de registro: 06 Jul 2004 12:53
Cidade/Estado: Brazil
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Editar Coluna no Hbrowse

Mensagempor gilbertosilverio » 16 Jun 2017 14:39

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
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 332
Data de registro: 18 Jan 2009 09:39
Cidade/Estado: Ribeirao Pires - SP
Curtiu: 1 vez
Mens.Curtidas: 23 vezes

Editar Coluna no Hbrowse

Mensagempor sygecom » 16 Jun 2017 15:14

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
leonardodemachado@hotmail.com

Faça você também sua doação esse fórum é uma lenda viva: http://www.pctoledo.com.br/doacao
Avatar de usuário

sygecom
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 7005
Data de registro: 21 Jul 2006 10:12
Cidade/Estado: Alvorada-RS
Curtiu: 1 vez
Mens.Curtidas: 130 vezes

Editar Coluna no Hbrowse

Mensagempor gilbertosilverio » 16 Jun 2017 15:34

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
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 332
Data de registro: 18 Jan 2009 09:39
Cidade/Estado: Ribeirao Pires - SP
Curtiu: 1 vez
Mens.Curtidas: 23 vezes

Editar Coluna no Hbrowse

Mensagempor sygecom » 16 Jun 2017 20:16

Abaixo um exemplo:

#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
leonardodemachado@hotmail.com

Faça você também sua doação esse fórum é uma lenda viva: http://www.pctoledo.com.br/doacao
Avatar de usuário

sygecom
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 7005
Data de registro: 21 Jul 2006 10:12
Cidade/Estado: Alvorada-RS
Curtiu: 1 vez
Mens.Curtidas: 130 vezes

Editar Coluna no Hbrowse

Mensagempor gilbertosilverio » 17 Jun 2017 08:29

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
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 332
Data de registro: 18 Jan 2009 09:39
Cidade/Estado: Ribeirao Pires - SP
Curtiu: 1 vez
Mens.Curtidas: 23 vezes

Editar Coluna no Hbrowse

Mensagempor gilbertosilverio » 18 Jun 2017 10:07

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...

#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
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 332
Data de registro: 18 Jan 2009 09:39
Cidade/Estado: Ribeirao Pires - SP
Curtiu: 1 vez
Mens.Curtidas: 23 vezes




Retornar para HwGui

Quem está online

Usuários vendo este fórum: Bing [Bot] e 10 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro