maudruidas Posted December 21, 2017 Report Share Posted December 21, 2017 Bom dia, estou fazendo um Browse lendo diretamente o arquivo DBF, porém os títulos do header vem com o nome dos campos do arquivo. Como faço para alterar estes títulos? Não posso usar a opção ADD pois o ComboWBlock não funciona direito com ele. SELE 40 DbEval( { || AAdd(aFormas, Forma ) } ) SELE 39 REDEFINE BROWSE OLPAR ALIAS 39 ; COLORS CLR_BLACK,nRGB(236, 233, 216) ID 187 OF ODLMNF; FONT OFNC CURSOR OCUR UPDATE CELLED OLPAR:LoadFields( .T. ) OLPAR:nLineStyle := LINES_VERT OLPAR:nHeightCell+=2 OLPAR:nHeightHead+=6 OLPAR:SetColor( { 1, 3, 5 }, ; { CLR_BLACK, CLR_WHITE, CLR_BLACK, ; { CLR_WHITE, CLR_BLACK }, ; // degraded cursor background color CLR_WHITE, CLR_BLACK } ) // text colors OLPAR:SetColor( { 2, 4, 6 }, ; { { CLR_WHITE, CLR_AZUL}, ; // degraded cells background color { CLR_AZUL, nRGB(1, 61, 150)}, ; // degraded CABEÇALHO backgroud color { CLR_BLUE, CLR_WHITE } } ) // degraded order column background color OLPAR:nFreeze := 1 OLPAR:lNoHScroll:=.T. OLPAR:lMChange:=.F. OLPAR:nAdjColumn:=2 OLPAR:LNOGRAYBAR:=.T. // Tira a Barra Cinza OLPAR:CTOOLTIP := "Duplo Click Permite Alterar Valores e Datas de Vencimento" // Ativa modo de edição continua OLPAR:lAutoEdit := .T. // Inverte as colunas // OLPAR:Exchange(3, 4) // Ajusta Altura do Cabeçalho OLPAR:nHeightHead := 20 // setting bData and related table for showing the combobox use at column 3 OLPAR:SetData( 4, ComboWBlock( OLPAR, "Forma", 4, aFormas ) ) // flagging columns that affect index key to issue UpStable() when fields change // OLPAR:SetIndexCols( 1, 2 ) OLPAR:SetColSize( 1, 60 ) // ( nColumn, nWidth ) Parcela OLPAR:SetColSize( 2, 70 ) // ( nColumn, nWidth ) Vencimento OLPAR:SetColSize( 3, 80 ) // ( nColumn, nWidth ) Valor OLPAR:SetColSize( 4, 100 ) // ( nColumn, nWidth ) Forma OLPAR:SetColSize( 5, 100 ) // ( nColumn, nWidth ) Dia Semana OLPAR:aColumns[ 1 ]:nAlign := DT_CENTER OLPAR:aColumns[ 2 ]:nAlign := DT_CENTER OLPAR:aColumns[ 4 ]:nAlign := DT_CENTER OLPAR:aColumns[ 5 ]:nAlign := DT_CENTER OLPAR:aColumns[ 1 ]:lEdit := .F. OLPAR:aColumns[ 5 ]:lEdit := .F. OLPAR:aColumns[ 2 ]:nAlign := DT_CENTER // Após a edição OLPAR:aColumns[ 2 ]:bPostEdit := { | uVar | VCAMPO2(uVar,OLPAR:nRowPos,2,DTD,OLPAR) } // 3D text raised in all levels and all columns OLPAR:Set3DText( .T., .T.,, 2, CLR_YELLOW, CLR_RED ) // when working with the same database this is very important OLPAR:lNoResetPos := .F. (OLPAR:SETFOCUS(),OLPAR:RESET(),OLPAR:GOTOP(),OLPAR:REFRESH()) Quote Link to comment Share on other sites More sharing options...
Alain da Silva Posted December 21, 2017 Report Share Posted December 21, 2017 se fizer dessa forma? REDEFINE BROWSE oLbxpc ID 113 OF oDlg ALIAS "Peditem1" UPDATE ON CHANGE oDlg:Update() ADD COLUMN TO oLbxpc DATA Peditem1->Ftnpedi Picture "999999" Align DT_CENTER Size 050 Header "Nº"+CRLF+"Cotação" ADD COLUMN TO oLbxpc DATA Peditem1->Ftprod Picture "99999" Align DT_CENTER Size 050 Header "Codigo" ADD COLUMN TO oLbxpc DATA Peditem1->Ftdesc Picture "@!" Align DT_LEFT Size 221 Header "Descrição Produto" Quote Link to comment Share on other sites More sharing options...
maudruidas Posted December 21, 2017 Author Report Share Posted December 21, 2017 Alain, bom dia, como eu disse, eu sempre usei com ADD, porém desta forma meu combo não funciona corretamente. Da forma nova que estou utilizando (sem ADD) funciona perfeitamente, só preciso trocar os títulos. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted December 21, 2017 Report Share Posted December 21, 2017 Intenta asi: Ejemplo: ADD COLUMN TO oBrw DATA MiDbf'->Codigo TITLE "Código" ORDER "Codigo" ADD COLUMN TO oBrw DATA MiDbf'->Nombre TITLE "Nombre" ORDER "Nombre" Quote Link to comment Share on other sites More sharing options...
maudruidas Posted December 21, 2017 Author Report Share Posted December 21, 2017 Pessoal, boa noite, consegui resolver parcialmente o problema. O combobox está funcionando corretamente utilizando ADD COLLUN, porém se eu estiver editando uma célula no Browse e clicar no botão confirma da nota, ele não salva as alterações do Browse. Se eu clicar fora do Browse e depois no botão confirma ele salva corretamente. Gostaria de saber se existe uma forma de forçar o Browse a salvar as informações no arquivo referente a ele, caso o usuário clique no botão confirma da nota. SELE 40 DbEval( { || AAdd(aFormas, Forma ) } ) SELE 39 ****************************** PARCELAS REDEFINE BROWSE OLPAR ALIAS 39 ; COLORS CLR_BLACK,nRGB(236, 233, 216) ID 187 OF ODLMNF; FONT OFNC CURSOR OCUR UPDATE CELLED ADD COLUMN TO BROWSE OLPAR SIZE 60 HEADER "Parcela" ; DATA FieldWBlock( "PARCELA", Select() ) ; 3DLOOK TRUE,TRUE ALIGN DT_CENTER ADD COLUMN TO BROWSE OLPAR SIZE 70 HEADER "Vencimento" ; DATA FieldWBlock( "DATA", Select() ); EDITABLE MOVE DT_MOVE_RIGHT PICTURE "99/99/9999"; VALID { | uVar | VCAMPO2(uVar,OLPAR:nRowPos,2,DTD,OLPAR)}; // NESTE PRG 3DLOOK TRUE,TRUE ALIGN DT_CENTER ADD COLUMN TO BROWSE OLPAR SIZE 80 HEADER "Valor R$" ; DATA FieldWBlock( "VALOR", Select() ); EDITABLE MOVE DT_MOVE_RIGHT PICTURE "@E 9,999.99"; VALID { | uVar | VCAMPO2(uVar,OLPAR:nRowPos,3,DTD,OLPAR) }; 3DLOOK TRUE,TRUE ALIGN DT_RIGHT ADD COLUMN TO BROWSE OLPAR COMBOBOX SIZE 100 HEADER "Forma Pgto" ; DATA ComboWBlock( OLPAR, "Forma", 4, {aFormas, aFormas} ) ; EDITABLE MOVE DT_MOVE_NEXT; 3DLOOK TRUE,TRUE ALIGN DT_CENTER // POSTEDIT ATBROW(OLPAR) ADD COLUMN TO BROWSE OLPAR SIZE 100 HEADER "Dia da Semana" ; DATA FieldWBlock( "DIASEM", Select() ); 3DLOOK TRUE,TRUE ALIGN DT_CENTER OLPAR:SetColor( { 1, 3, 5 }, ; { CLR_BLACK, CLR_WHITE, CLR_BLACK, ; { CLR_WHITE, CLR_BLACK }, ; // degraded cursor background color CLR_WHITE, CLR_BLACK } ) // text colors OLPAR:SetColor( { 2, 4, 6 }, ; { { CLR_WHITE, CLR_AZUL}, ; // degraded cells background color { CLR_AZUL, nRGB(1, 61, 150)}, ; // degraded CABEÇALHO backgroud color { CLR_BLUE, CLR_WHITE } } ) // degraded order column background color OLPAR:nFreeze := 1 // OLPAR:LoadFields( .T. ) OLPAR:nLineStyle := LINES_VERT OLPAR:lNoHScroll:=.T. OLPAR:nHeightCell+=2 OLPAR:nHeightHead+=6 OLPAR:lNoHScroll:=.T. OLPAR:lMChange:=.F. OLPAR:nAdjColumn:=2 OLPAR:LNOGRAYBAR:=.T. // Tira a Barra Cinza OLPAR:CTOOLTIP := "Duplo Click Permite Alterar Valores e Datas de Vencimento" OLPAR:aColumns[ 1 ]:lEdit := .F. OLPAR:aColumns[ 5 ]:lEdit := .F. OLPAR:lAutoEdit := .T. OLPAR:lNoResetPos := .F. Quote Link to comment Share on other sites More sharing options...
Jmsilva Posted December 22, 2017 Report Share Posted December 22, 2017 Não seria... OLPAR:SetColSize( 1, 60 ) // ( nColumn, nWidth ) Parcela OLPAR:SetColSize( 2, 70 ) // ( nColumn, nWidth ) Vencimento OLPAR:SetColSize( 3, 80 ) // ( nColumn, nWidth ) Valor OLPAR:SetColSize( 4, 100 ) // ( nColumn, nWidth ) Forma OLPAR:SetColSize( 5, 100 ) // ( nColumn, nWidth ) Dia Semana OLPAR:aColumns[ 1 ]:nAlign := DT_CENTER OLPAR:aColumns[ 2 ]:nAlign := DT_CENTER OLPAR:aColumns[ 4 ]:nAlign := DT_CENTER OLPAR:aColumns[ 5 ]:nAlign := DT_CENTER OLPAR:aColumns[ 1 ]:cHeader :="Parcela" OLPAR:aColumns[ 2 ]:cHeader := "Vencimento" OLPAR:aColumns[ 3 ]:cHeader := "Valor" OLPAR:aColumns[ 4 ]:cHeader := "Forma" Quote Link to comment Share on other sites More sharing options...
maudruidas Posted December 22, 2017 Author Report Share Posted December 22, 2017 OLPAR:aColumns[ 1 ]:cHeader :="Parcela" dá erro. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.