Jump to content
Fivewin Brasil

XBROWSE COM MAIS DE 1 LINHA NO DATALINE


mkyx

Recommended Posts

Boa dia a todos.

 

para colocar mais de uma linha no cabeçalho, fiz assim e deu certo:

oBrw:nHeaderLines        := 5   //--> Cabecalho em 5 Linhas.

 

no cabeçalho das colunas, fiz assim e deu certo:

oCol:= oBrw:AddCol()
oCol:cHeader := "PIS"+CHR(13)+"8109"+CHR(13)+"DATA APURAÇÃO"+CHR(13)+"VALOR"+CHR(13)+"VENCIMENTO"
 


Mas, na área de dados (datalines), fiz de maneira semelhante, mas não funcionou:

oBrw:nDataLines          := 3               // área de dados com 3 linhas


na área de dados das colunas, fiz assim e não funcionou:

oCol:bStrData := { || DTOC(ARQ_IMP->APURACAO)+CHR(13)+TRANSFORM(ARQ_IMP->PIS,"@E 999,999,999.99")+CHR(13)+DTOC(ARQ_IMP->VENCIMENTO) }
 

Alguém tem alguma idéia???

 

Pompeo

Guaratingueta SP

 

 

 

 

Link to comment
Share on other sites

Como faço pra criar a tabela no xbrowse:

   SELECT ARQ_TAB1
   ARQ_TAB1->(dbsetorder(1))
   ARQ_TAB1->(ORDSCOPE(0,STRZERO(CODFIR,3)+STRZERO(C_ANO,4)))
   ARQ_TAB1->(ORDSCOPE(1,STRZERO(CODFIR,3)+STRZERO(C_ANO,4)))
   ARQ_TAB1->(DBGOTOP())

   oBrw0_1 := TXBrowse():New( OWND )


   oBrw0_1:nTop:=70
   oBrw0_1:nLeft:=05
   oBrw0_1:nBottom:=640
   oBrw0_1:nRight:=1240

   oBrw0_1:nMarqueeStyle       := MARQSTYLE_HIGHLCELL
   oBrw0_1:nColDividerStyle    := 1
   oBrw0_1:nRowDividerStyle    := 1
   oBrw0_1:cAlias              := "ARQ_TAB1"
   oBrw0_1:lColDividerComplete := .t.
   
   oBrw0_1:nHeaderLines        := 5   //--> Cabecalho em 2 Linhas.
   oBrw0_1:nDataLines          := 3               // Aumenta o espaco da linha 
   oBrw0_1:lAllowColSwapping   :=.T. // Trocar Colunas
   oBrw0_1:lAllowRowSizing     := .T.  //--> Nao move as Linhas
   oBrw0_1:nRowHeight := 30   //--> Altura das Linhas do ListBox.
   oBrw0_1:lHScroll := .T.
   oBrw0_1:lVScroll := .T.
   oBrw0_1:lHeader := .T.
   oBrw0_1:lFooter := .F.
   oBrw0_1:nFreeze := 1
   oBrw0_1:lRecordSelector := .T.
   oBrw0_1:l2007:=.T.
   
     oBrw0_1:bClrStd := {||iif(ARQ_TAB1->NOMEMES="SOMA ANUAL",{CLR_BLACK,nRGB(56,176,222)},IIF("TRIMESTRE"$ARQ_TAB1->NOMEMES,{CLR_BLACK,nRGB(254,187,137)},{CLR_BLUE,nRGB(255,255,255)}))}


   oBrw0_1:lFooter := .F.
   oBrw0_1:oFont := OFONT
   
   oCol:= oBrw0_1:AddCol()
   oCol:bStrData := { || ARQ_TAB1->NOMEMES}
   oCol:cHeader := "MÊS"
   oCol:oDataFont := OFONT
   oCol:nHeadStrAlign := AL_CENTER  
   oCol:oHeaderFont   := OFNT1

   oCol:= oBrw0_1:AddCol()
   oCol:bStrData := { || IIF(ARQ_TAB1->VENDAS>0,TRANSFORM(ARQ_TAB1->VENDAS,"@E 999,999,999.99"),SPACE(10)) }
   oCol:cHeader := "VENDAS"
   oCol:oHeaderFont   := OFNT1
   oCol:oDataFont := OFONT
   oCol:cEditPicture := "@E 999,999,999.99"
   oCol:bEditvalue := { || ARQ_TAB1->VENDAS }
   oCol:nEditType     := iif(left(arq_tab1->tipo,1)#"T",EDIT_GET,EDIT_NONE)             
   oCol:bOnPostEdit   := { | oCol, uVal, nKey | iif(left(arq_tab1->tipo,1)#"T",(ARQ_TAB1->(dbrlock()),(QT_Ant:=ARQ_TAB1->VENDAS),ARQ_TAB1->( FieldPut(oCol:nCreationOrder, uVal)),ARQ_TAB1->(dbcommit()),ARQ_TAB1->(dbunlock()),oBrw0_1:refresh(),tecla(NKEY,ARQ_TAB1->(recno()))),) } 
   oCol:nHeadStrAlign := AL_CENTER  

   oCol:= oBrw0_1:AddCol()
   oCol:bStrData := { || IIF(ARQ_TAB1->FATURA>0,TRANSFORM(ARQ_TAB1->FATURA,"@E 999,999,999.99"),SPACE(10)) }
   oCol:cHeader := "SERVIÇOS"
   oCol:oDataFont := OFONT
   oCol:oHeaderFont   := OFNT1
   oCol:cEditPicture := "@E 999,999,999.99"
   oCol:bEditvalue := { || ARQ_TAB1->FATURA }
   oCol:nEditType     := iif(left(arq_tab1->tipo,1)#"T",EDIT_GET,EDIT_NONE)             
   oCol:bOnPostEdit   := { | oCol, uVal, nKey | iif(left(arq_tab1->tipo,1)#"T",(ARQ_TAB1->(dbrlock()),(QT_Ant:=ARQ_TAB1->FATURA),ARQ_TAB1->( FieldPut(oCol:nCreationOrder, uVal)),ARQ_TAB1->(dbcommit()),ARQ_TAB1->(dbunlock()),oBrw0_1:refresh(),tecla(NKEY,ARQ_TAB1->(recno()))),) } 
   oCol:nHeadStrAlign := AL_CENTER  

   oCol:= oBrw0_1:AddCol()
   oCol:bStrData := { || IIF(ARQ_TAB1->GANHOS>0,TRANSFORM(ARQ_TAB1->GANHOS,"@E 999,999,999.99"),SPACE(10)) }
   oCol:cHeader := "GANHOS CAP"
   oCol:oDataFont := OFONT
   oCol:oHeaderFont   := OFNT1
   oCol:cEditPicture := "@E 999,999,999.99"
   oCol:bEditvalue := { || ARQ_TAB1->GANHOS }
   oCol:nEditType     := iif(left(arq_tab1->tipo,1)#"T",EDIT_GET,EDIT_NONE)             
   oCol:bOnPostEdit   := { | oCol, uVal, nKey | iif(left(arq_tab1->tipo,1)#"T",(ARQ_TAB1->(dbrlock()),(QT_Ant:=ARQ_TAB1->GANHOS),ARQ_TAB1->( FieldPut(oCol:nCreationOrder, uVal)),ARQ_TAB1->(dbcommit()),ARQ_TAB1->(dbunlock()),oBrw0_1:refresh(),tecla(NKEY,ARQ_TAB1->(recno()))),) } 
   oCol:nHeadStrAlign := AL_CENTER  

   oCol:= oBrw0_1:AddCol()
   oCol:bStrData := { || IIF(ARQ_TAB1->RENDIMENTO>0,TRANSFORM(ARQ_TAB1->RENDIMENTO,"@E 999,999,999.99"),SPACE(10)) }
   oCol:cHeader := "REND APLIC"
   oCol:oDataFont := OFONT
   oCol:oHeaderFont   := OFNT1
   oCol:cEditPicture := "@E 999,999,999.99"
   oCol:bEditvalue := { || ARQ_TAB1->RENDIMENTO }
   oCol:nEditType     := iif(left(arq_tab1->tipo,1)#"T",EDIT_GET,EDIT_NONE)             
   oCol:bOnPostEdit   := { | oCol, uVal, nKey | iif(left(arq_tab1->tipo,1)#"T",(ARQ_TAB1->(dbrlock()),(QT_Ant:=ARQ_TAB1->RENDIMENTO),ARQ_TAB1->( FieldPut(oCol:nCreationOrder, uVal)),ARQ_TAB1->(dbcommit()),ARQ_TAB1->(dbunlock()),oBrw0_1:refresh(),tecla(NKEY,ARQ_TAB1->(recno()))),) } 
   oCol:nHeadStrAlign := AL_CENTER  

   oCol:= oBrw0_1:AddCol()

// a linha abaixo não funciona, colocar tudo na mesma linha

   oCol:bStrData := {||if(arq_tab1->pis>0,DTOC(ARQ_TAB1->APURACAO)+CRLF+TRANSFORM(ARQ_TAB1->PIS,"@E 999,999,999.99"),space(10))}

// já o cabeçalho abaixo, funciona
   oCol:cHeader := "PIS"+CRLF+"8109"+CRLF+"DATA APURAÇÃO"+CRLF+"VALOR"+CRLF+"VENCIMENTO"
   oCol:oDataFont := OFONT
   oCol:oHeaderFont   := OFNT1
   oCol:nHeadStrAlign := AL_CENTER  

   oCol:= oBrw0_1:AddCol()
   oCol:bStrData := { || IIF(ARQ_TAB1->COFINS>0,TRANSFORM(ARQ_TAB1->COFINS,"@E 999,999,999.99"),SPACE(10)) }
   oCol:cHeader := "COFINS"
   oCol:oHeaderFont   := OFNT1
   oCol:oDataFont := OFONT
   oCol:nHeadStrAlign := AL_CENTER  

   oCol:= oBrw0_1:AddCol()
   oCol:bStrData := { || IIF(ARQ_TAB1->CSOCIAL>0,TRANSFORM(ARQ_TAB1->CSOCIAL,"@E 999,999,999.99"),SPACE(10)) }
   oCol:cHeader := "CSLL"
   oCol:oHeaderFont   := OFNT1
   oCol:oDataFont := OFONT
   oCol:nHeadStrAlign := AL_CENTER  

   oCol:= oBrw0_1:AddCol()
   oCol:bStrData := { || IIF(ARQ_TAB1->IRPJ>0,TRANSFORM(ARQ_TAB1->IRPJ,"@E 999,999,999.99"),SPACE(10)) }
   oCol:cHeader := "IRPJ"
   oCol:oHeaderFont   := OFNT1
   oCol:oDataFont := OFONT
   oCol:nHeadStrAlign := AL_CENTER  

   oCol:= oBrw0_1:AddCol()
   oCol:bStrData := { || IIF(ARQ_TAB1->ADICIONAL>0,TRANSFORM(ARQ_TAB1->ADICIONAL,"@E 999,999,999.99"),SPACE(10)) }
   oCol:cHeader := "ADICIONAL"
   oCol:oHeaderFont   := OFNT1
   oCol:oDataFont := OFONT
   oCol:nHeadStrAlign := AL_CENTER  

   oCol:= oBrw0_1:AddCol()
   oCol:bStrData := { || IIF(ARQ_TAB1->SERVICOS>0,TRANSFORM(ARQ_TAB1->SERVICOS,"@E 999,999,999.99"),SPACE(10)) }
   oCol:cHeader := "SERVIÇOS T"
   oCol:oDataFont := OFONT
   oCol:oHeaderFont   := OFNT1
   oCol:cEditPicture := "@E 999,999,999.99"
   oCol:bEditvalue := { || ARQ_TAB1->SERVICOS }
   oCol:nEditType     := iif(left(arq_tab1->tipo,1)#"T",EDIT_GET,EDIT_NONE)             
   oCol:bOnPostEdit   := { | oCol, uVal, nKey | iif(left(arq_tab1->tipo,1)#"T",(ARQ_TAB1->(dbrlock()),(QT_Ant:=ARQ_TAB1->SERVICOS),ARQ_TAB1->( FieldPut(oCol:nCreationOrder, uVal)),ARQ_TAB1->(dbcommit()),ARQ_TAB1->(dbunlock()),oBrw0_1:refresh(),tecla(NKEY,ARQ_TAB1->(recno()))),) } 
   oCol:nHeadStrAlign := AL_CENTER  

   oCol:= oBrw0_1:AddCol()
   oCol:bStrData := { || IIF(ARQ_TAB1->VALOR_ISS>0,TRANSFORM(ARQ_TAB1->VALOR_ISS,"@E 999,999,999.99"),SPACE(10)) }
   oCol:cHeader := "ISS"
   oCol:oDataFont := OFONT
   oCol:oHeaderFont   := OFNT1
   oCol:cEditPicture := "@E 999,999,999.99"
   oCol:bEditvalue := { || ARQ_TAB1->VALOR_ISS }
   oCol:nEditType     := iif(left(arq_tab1->tipo,1)#"T",EDIT_GET,EDIT_NONE)             
   oCol:bOnPostEdit   := { | oCol, uVal, nKey | iif(left(arq_tab1->tipo,1)#"T",(ARQ_TAB1->(dbrlock()),(QT_Ant:=ARQ_TAB1->VALOR_ISS),ARQ_TAB1->( FieldPut(oCol:nCreationOrder, uVal)),ARQ_TAB1->(dbcommit()),ARQ_TAB1->(dbunlock()),oBrw0_1:refresh(),tecla(NKEY,ARQ_TAB1->(recno()))),) } 
   oCol:nHeadStrAlign := AL_CENTER  

   oCol:= oBrw0_1:AddCol()
   oCol:bStrData := { || IIF(ARQ_TAB1->VALOR_INSS>0,TRANSFORM(ARQ_TAB1->VALOR_INSS,"@E 999,999,999.99"),SPACE(10)) }
   oCol:cHeader := "INSS"
   oCol:oDataFont := OFONT
   oCol:oHeaderFont   := OFNT1
   oCol:cEditPicture := "@E 999,999,999.99"
   oCol:bEditvalue := { || ARQ_TAB1->VALOR_INSS }
   oCol:nEditType     := iif(left(arq_tab1->tipo,1)#"T",EDIT_GET,EDIT_NONE)             
   oCol:bOnPostEdit   := { | oCol, uVal, nKey | iif(left(arq_tab1->tipo,1)#"T",(ARQ_TAB1->(dbrlock()),(QT_Ant:=ARQ_TAB1->VALOR_INSS),ARQ_TAB1->( FieldPut(oCol:nCreationOrder, uVal)),ARQ_TAB1->(dbcommit()),ARQ_TAB1->(dbunlock()),oBrw0_1:refresh(),tecla(NKEY,ARQ_TAB1->(recno()))),) } 
   oCol:nHeadStrAlign := AL_CENTER  

   oBrw0_1:bKeydown:={|nkey|_obrww_(oBrw0_1:ColAtPos(oBrw0_1:nColsel):nCreationOrder,nkey,ARQ_TAB1->(RECNO()))}
   oBrw0_1:SetRDD()                                                                                
   oBrw0_1:CreateFromCode()
 

O problema é que a exibição do cabeçalho, funciona, dividindo em 5 linhas, mas a parte dos registros, dos dados, não divide em 3 linhas, como está no comando acima.

Onde será que estou pecando?

 

 

Link to comment
Share on other sites

Ola 

se nao é o que o Everton disse.

vc poderia tentar assim:    

  @ 1.3,0 XBROWSE oLbxClie FIELDS Clie->Cod_Clie,;
                                  Clie->Nom_Clie+CRLF+Clie->Fan_Clie,;
                                  Clie->Tel_Clie+CRLF+Clie->Cel_Clie,;
                                  nil,;
                                  Alltrim(Clie->End_Clie)+" "+Alltrim(Clie->Nmr_Clie)+" "+Alltrim(Clie->Cmp_Clie)+CRLF+Clie->Bai_clie,;
                                  Clie->Cid_Clie+CRLF+Clie->Est_Clie+" - "+Clie->Cep_Clie,;
                                  Clie->Cgc_Clie+CRLF+Clie->Ins_Clie,;
                                  Clie->Cpf_Clie+CRLF+Clie->Ide_Clie,;
                                  Clie->Con_Clie+CRLF+Clie->Ven_Clie+"-"+Vend->Ape_Vend,;
                                  Rota->Cod_Rota+"-"+Left(Rota->Nom_Rota,15)+CRLF+Tipo->Cod_Tipo+"-"+Left(Tipo->Nom_Tipo,15),;
                                  Clie->Usu_Clie+CRLF+Clie->Tim_Clie;
                          HEADERS "Cód.",;
                                  "Razão Social/Nome Cliente"+CRLF+"Nome Fantasia",;
                                  "Telefone"+CRLF+"Celular",;
                                  "Data de Cadastro"+CRLF+"Situação",;
                                  "Endereço" +CRLF+ "Bairro",;
                                  "Município"+CRLF+"UF/CEP",;
                                  "CNPJ"+CRLF+"Ins.Estadual",;
                                  "CPF"+CRLF+"RG",;
                                  "Contato"+CRLF+"Representante",;
                                  "Rota"+CRLF+"Tipo Estabelecimento",;
                                  "Usuário", "Data/Hora";
                          JUSTIFY .f., .f., .f., .f., .f., .f., .f., .f., .f., .f., .f. ;
                          FONT oFont ALIAS "CLIE" OF oWndClie AUTOSORT LINES CELL

   oLbxClie:nMarqueeStyle       := MARQSTYLE_HIGHLROW
   oLbxClie:nColDividerStyle    := LINESTYLE_BLACK
   oLbxClie:nRowDividerStyle    := LINESTYLE_BLACK
   oLbxClie:lColDividerComplete := .t.
   oLbxClie:lFooter             := .t.
   oLbxClie:nFreeze             := 3
   oLbxClie:nHeaderLines        := 2
   oLbxClie:nDataLines          := 2
   oLbxClie:bLDblClick          := {|| EditClie(oLbxClie, .f.)}
   oLbxClie:bClrSelFocus        := {|| { CLR_BLACK, CLR_FOCO }}
   oLbxClie:bClrStd             := {|| { CLR_WHITE, If((Clie->(ORDKEYNO()))%2==0, CLR_BRW1, CLR_BRW2) } }
   oLbxClie:bKeyDown            := {|nKey| BrwKeyClie(nkey, oLbxClie, oWndClie, oPesqComboClie)}
   oLbxClie:bRClicked           := { | nRow, nCol | BrwPopClie(nRow, nCol, oWndClie, oLbxClie ) }
   oLbxClie:lIncrFilter         := .t.
   oLbxClie:lSeekWild           := .t.

   oLbxClie:SetGroupHeader( "CADASTRO DE CLIENTES", 1, 3, oFont4 )

   oCol := oLbxClie:aCols[ 1 ]
   oCol:cSortOrder := 'CLIE1'
   ocol:cToolTip:="Clique para ordenar por código"
   oCol:bClrStd := {|| { CLR_WHITE, If(Clie->Ati_Clie, CLR_GRAY, CLR_BRW2 ) } }
   oCol:AddResource("BMP_SETA")
   oCol:bStrData  := { || Clie->Cod_Clie }
   oCol:bBmpData := { || If(!Clie->Mar_Clie, nil, 1) }

   oCol := oLbxClie:aCols[ 2 ]
   oCol:cSortOrder := 'CLIE2'
   ocol:cToolTip:="Clique para ordenar por nome"
   oCol:bClrStd := {|| { CLR_WHITE, If(Clie->Ati_Clie, CLR_GRAY, CLR_BRW2 ) } }
// oCol:oDataFont := If(Clie->Ati_Clie, oFont1, oFont)

   oCol := oLbxClie:aCols[ 3 ]
   oCol:bClrStd := {|| { CLR_WHITE, If(Clie->Ati_Clie, CLR_GRAY, CLR_BRW2 ) } }

   oCol := oLbxClie:aCols[ 4 ]
   oCol:AddResource("BMP_CHE1")
   oCol:AddResource("BMP_CHE2")
   oCol:bStrData  := { || Dtoc(Clie->Dat_Clie)+CRLF+If(Clie->Ati_Clie, "BLOQUEADO", "") }
   oCol:bBmpData  := { || If(Clie->Ati_Clie, 2, 1) }
   oCol:bClrStd := {|| { CLR_WHITE, If(Clie->Ati_Clie, CLR_GRAY, CLR_BRW1 ) } }

uso dessa maneira acima

obs: seu codigo deveria trabalhar bem, nao vi nenhum problema 

Link to comment
Share on other sites

  • 1 month later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...