sistem Posted April 23, 2014 Report Share Posted April 23, 2014 ola forum alguem saber como pôr linhas do xbrowse com cores diferente usando sqlrdd+mysql tipo zebra com dbf da certo mais queria saber com mysql e sqlrdd obrigado antecipadamente Quote Link to comment Share on other sites More sharing options...
kapiaba Posted April 23, 2014 Report Share Posted April 23, 2014 http://forums.fivetechsupport.com/viewtopic.php?f=6&t=28352 http://forums.fivetechsupport.com/viewtopic.php?f=6&t=26950&p=149648&hilit=pintado#p149648 http://forums.fivetechsupport.com/viewtopic.php?f=6&t=24711&p=133967&hilit=pintado#p133967 Quote Link to comment Share on other sites More sharing options...
Wellington Vieira Posted April 23, 2014 Report Share Posted April 23, 2014 Não sei se isso que você esteja querendo.. @ 035.5,002 listbox obrzNOTA fields asamplzNOTA[obrzNOTA:nat,1],asamplzNOTA[obrzNOTA:nat,2],; asamplzNOTA[obrzNOTA:nat,3],asamplzNOTA[obrzNOTA:nat,4],asamplzNOTA[obrzNOTA:nat,5],; asamplzNOTA[obrzNOTA:nat,6],asamplzNOTA[obrzNOTA:nat,7],asamplzNOTA[obrzNOTA:nat,8],; asamplzNOTA[obrzNOTA:nat,9],asamplzNOTA[obrzNOTA:nat,10]; headers "","Série","Número","Emissão","Nome","CNPJ/CPF","UF","Tipo","Situação","DanFe"; FIELDSIZES 20,35,100,100,340,110,30,050,150,20 on dblclick marca_nfe(); size 500,135; pixel of nfeletronica // Esta muda a cor da linha .......... obrzNOTA:nClrPane := {|| iif((obrzNOTA:nat/2) = int(obrzNOTA:nat/2),corfdogetnotafiscal,corlstbxnormal) } obrzNOTA:lCellStyle = .t. obrzNOTA:lAutoSkip = .t. obrzNOTA:SetArray(asamplzNOTA) obrzNOTA:bGoTop = { || obrzNOTA:nat := 1 } obrzNOTA:bGoBottom = { || obrzNOTA:nat := Eval( obrzNOTA:bLogicLen ) } obrzNOTA:bSkip = { | nWant, nOld | nOld := obrzNOTA:nat, obrzNOTA:nat += nWant,; obrzNOTA:nat := Max( 1, Min( obrzNOTA:nat, Eval( obrzNOTA:bLogicLen ) ) ),; obrzNOTA:nat - nOld } obrzNOTA:bLogicLen = { || Len( asamplzNOTA ) } obrzNOTA:cAlias = "Array" // Just put something obrzNOTA:SetFocus() obrzNOTA:Refresh() Quote Link to comment Share on other sites More sharing options...
emotta Posted April 23, 2014 Report Share Posted April 23, 2014 o SQLRDD nao tem suporte ao ORDKEYNO() por isso não da certo... eu tentei de várias formas e não consegui também, se alguem conseguir me avisa... em DBF funciona legal... kapiaba 1 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted April 23, 2014 Report Share Posted April 23, 2014 Eduardo, talvez seja por aqui: http://forums.fivetechsupport.com/viewtopic.php?p=115863#p115863 abs, Quote Link to comment Share on other sites More sharing options...
Erciley Junior Posted April 23, 2014 Report Share Posted April 23, 2014 Faz testando o RECNO, o que for par eh uma cor, impar outra, dá certo xbrowse array fica mais fácil ainda, ou ainda dá pra fazer isso complicando um pouco, definindo a cor em uma coluna do select que você fizer Quote Link to comment Share on other sites More sharing options...
marcioe Posted April 24, 2014 Report Share Posted April 24, 2014 amigo, quando eu usava LISTBOX veja se ajuda. X := .F. *==================================================================================================== REDEFINE LISTBOX oLbx_COM FIELDS TCOMPRA->(STRZERO(CODVENDA,06,0)),; DTOC(TCOMPRA->DATVENDA),; TRANSFORM(TCOMPRA->VALVENDA,"@ZE 999,999.99"),; TCOMPRA->TIPO_DOC,; TCOMPRA->(STRZERO(NF_NUMER,06,0)),; TCOMPRA->NF_SERIE; HEADERS "Lanç.",; "Data",; "TOTAL",; "Tipo Doc.",; "Numero",; "Série"; FONT O_F_BRW; ID 073; OF oFld_FORNE:aDialogs[ 2 ]; ON CHANGE (TCOD:=TCOMPRA->CODCLIVE,oLbx_COM:Refresh()); On DBLCLICK(TCOD:=TCOMPRA->CODCLIVE,oLbx_COM:Refresh(),oLbx_COM:SetFocus() ) oLbx_COM:ajustify:={.T.,.T.,.T.,.F.} oLbx_COM:nLineStyle := 2 oLbx_COM:Refresh() oLbx_COM:lCellStyle := .F. oLbx_COM:nClrBackHead := CLR_HBLUE // Cor do Fundo do Cabe‡alho oLbx_COM:nClrBackFocus := CLR_AZUL_BRANCO // Cor do Cursor Em Cima do Ötem oLbx_COM:nClrForeHead := CLR_BLANCO // Cor nos Headers - Cabe‡alhos *============================================================================================= //// Aqui faço as corres oLbx_COM:nClrPane:={ ||IIF(IIF(X,X:=.F.,X:=.T.)=.T., ; CLR_LGREEN,CLR_LGRAY)} *============================================================================================= tenta ai quem sabe ajuda. Quote Link to comment Share on other sites More sharing options...
emotta Posted April 24, 2014 Report Share Posted April 24, 2014 xBrowse com array da tranquilo, DBF também é tranquilo.... Agora fazer com o RECNO não da, pois o RECNO no SQLRDD é um numero sequencial, então se tiver registros deletados no meio da tabela ele nao fica certo. Ex: CODIGO NOME RECNO DELETADO 000001 XXXXXXX 1 NAO 000002 YYYYYYY 2 SIM 000003 ZZZZZZZZ 3 NAO No exemplo acima no xBrowse ele só vai exibir os codigos 1 e 3, porem os dois ficaram com a linha da mesma cor porque o recno de ambos é impar... Faz testando o RECNO, o que for par eh uma cor, impar outra, dá certo xbrowse array fica mais fácil ainda, ou ainda dá pra fazer isso complicando um pouco, definindo a cor em uma coluna do select que você fizer Quote Link to comment Share on other sites More sharing options...
emotta Posted April 24, 2014 Report Share Posted April 24, 2014 nada feito... Eduardo, talvez seja por aqui: http://forums.fivetechsupport.com/viewtopic.php?p=115863#p115863 abs, kapiaba 1 Quote Link to comment Share on other sites More sharing options...
Erciley Junior Posted April 25, 2014 Report Share Posted April 25, 2014 xBrowse com array da tranquilo, DBF também é tranquilo.... Agora fazer com o RECNO não da, pois o RECNO no SQLRDD é um numero sequencial, então se tiver registros deletados no meio da tabela ele nao fica certo. Ex: CODIGO NOME RECNO DELETADO 000001 XXXXXXX 1 NAO 000002 YYYYYYY 2 SIM 000003 ZZZZZZZZ 3 NAO No exemplo acima no xBrowse ele só vai exibir os codigos 1 e 3, porem os dois ficaram com a linha da mesma cor porque o recno de ambos é impar... Oi Emotta, eu disse isso pensando em um USE SQL por exemplo, que o RECNO fica algo sequencial e diferente do SQL_ROWID..... pelo menos acho que fica diferente ^^ De qualquer forma, dá pra fazer USE SQL criando uma nova coluna, e essa nova coluna você pode numerar sequencialmente e aí testar ela nos blocos do bClr, ou já retornar a cor diretamente..... bom, só explicando ...... o importante seria o sistem informar se conseguiu ^^ Quote Link to comment Share on other sites More sharing options...
emotta Posted April 25, 2014 Report Share Posted April 25, 2014 Erciley, em SQL é a mesma coisa... Se deletar registros do meio da tabela ele nao refaz o recno.... Oi Emotta, eu disse isso pensando em um USE SQL por exemplo, que o RECNO fica algo sequencial e diferente do SQL_ROWID..... pelo menos acho que fica diferente ^^ De qualquer forma, dá pra fazer USE SQL criando uma nova coluna, e essa nova coluna você pode numerar sequencialmente e aí testar ela nos blocos do bClr, ou já retornar a cor diretamente..... bom, só explicando ...... o importante seria o sistem informar se conseguiu ^^ Quote Link to comment Share on other sites More sharing options...
Erciley Junior Posted April 25, 2014 Report Share Posted April 25, 2014 Emotta, quanto a isso eu tenho minhas dúvidas, e aposto que não é bem isso. Ou melhor, se abrir a tabela do banco de dados, via LIB, para trabalhar como DBF, onde não haja SQLFILTER nem nada, aí concordo com você Agora se usar USE SQL, filtrando os dados pelo WHERE, para usar como DBF, o RECNO, que na verdade acaba pegando o valor do SQL_ROWID, não se permanece. Mas lembro que percebi uma particularidade no retorno da função RECNO, quando no seu SELECT tem a coluna SQL_ROWID, e quando não tem, mas agora não me lembro exatamente o que era para falar. Quote Link to comment Share on other sites More sharing options...
emotta Posted April 25, 2014 Report Share Posted April 25, 2014 Erciley, estamos falando de DBUSEAREA aqui ok.... Se usar SELECT direto aí é outra história, aí o recno() é um sequencial do resultset... Mas o que me referi desde o inicio é o uso como se fosse DBF, ou seja, DBUSEAREA... Emotta, quanto a isso eu tenho minhas dúvidas, e aposto que não é bem isso. Ou melhor, se abrir a tabela do banco de dados, via LIB, para trabalhar como DBF, onde não haja SQLFILTER nem nada, aí concordo com você Agora se usar USE SQL, filtrando os dados pelo WHERE, para usar como DBF, o RECNO, que na verdade acaba pegando o valor do SQL_ROWID, não se permanece. Mas lembro que percebi uma particularidade no retorno da função RECNO, quando no seu SELECT tem a coluna SQL_ROWID, e quando não tem, mas agora não me lembro exatamente o que era para falar. Quote Link to comment Share on other sites More sharing options...
emotta Posted April 25, 2014 Report Share Posted April 25, 2014 SQL_ROWID não tem no SQLRDD... Qual lib vc se refere? Quote Link to comment Share on other sites More sharing options...
evandro Posted April 26, 2014 Report Share Posted April 26, 2014 Olá, Sql_rowid é dá SqlLib. SET @nRecno:=0; SELECT @nRecno:=@nRecno+1 AS recno, campo FROM tabela; Quote Link to comment Share on other sites More sharing options...
Luiz Fernando Posted April 26, 2014 Report Share Posted April 26, 2014 Olá, Sql_rowid é dá SqlLib. SET @nRecno:=0; SELECT @nRecno:=@nRecno+1 AS recno, campo FROM tabela; Ola Evandro, sql_rowid não seria o ID da tabela, este nome a maioria utiliza pelo fato do aplicativo dbf2sql do Klebyer dar este nome na integração do dbf para mysql, mais poderia ser qualquer outro nome, e não teria nenhum vinculo com a sqllib, ou estou enganado sobre isto... Abraços Luiz Fernando Quote Link to comment Share on other sites More sharing options...
Erciley Junior Posted April 28, 2014 Report Share Posted April 28, 2014 Olá. Emotta, e eu estava pensando em SQLLIB, onde você pode fazer o SELECT que quiser, criar a coluna que quiser, numerar como quiser através do SELECT, e utilizar com comandos DBF posteriormente, por isso dei esse exemplo. Sempre me confundo com os termos SQLRDD e SQLLIB, talvez foi aí que nos desentendemos. Toda tabela criada pela SQLLIB, é criada com a coluna SQL_ROWID. Vailtom fez isso por compatibilidade/similaridade, com o RECNO, acredito. O exemplo do Evandro, é a forma que falei em "criar uma coluna" e aí testar se é par ou ímpar, para colorir. Isso na SQLLIB funcionaria, fazendo um USE SQL e trabalhando como DBF. Eu particularmente prefiro utilizar tudo como array, salvo raras exceções. O texto é só para esclarecer oq eu estava dizendo. Beijos Quote Link to comment Share on other sites More sharing options...
emotta Posted April 28, 2014 Report Share Posted April 28, 2014 Erciley, em SQLRDD também da pra criar o select conforme a necessidade... Quando é assim funciona tranquilo o efeito "pijama" no xBrowse. O problema é quando se abre o xBrowse em uma tabela do banco com DBUSEAREA normal (como em dbf). Essa é a questão. vlw abraços Olá. Emotta, e eu estava pensando em SQLLIB, onde você pode fazer o SELECT que quiser, criar a coluna que quiser, numerar como quiser através do SELECT, e utilizar com comandos DBF posteriormente, por isso dei esse exemplo. Sempre me confundo com os termos SQLRDD e SQLLIB, talvez foi aí que nos desentendemos. Toda tabela criada pela SQLLIB, é criada com a coluna SQL_ROWID. Vailtom fez isso por compatibilidade/similaridade, com o RECNO, acredito. O exemplo do Evandro, é a forma que falei em "criar uma coluna" e aí testar se é par ou ímpar, para colorir. Isso na SQLLIB funcionaria, fazendo um USE SQL e trabalhando como DBF. Eu particularmente prefiro utilizar tudo como array, salvo raras exceções. O texto é só para esclarecer oq eu estava dizendo. Beijos Quote Link to comment Share on other sites More sharing options...
SAOliveira Posted April 28, 2014 Report Share Posted April 28, 2014 E esta tabela, não tem nenhum campo "unique" Quote Link to comment Share on other sites More sharing options...
sistem Posted April 29, 2014 Author Report Share Posted April 29, 2014 emotta tem esse topico no forum internacional, achei meio complicado dai nao fiz teste http://forums.fivetechsupport.com/viewtopic.php?f=3&t=24327&p=138645&hilit=sqlrdd+xbrowse+ORDKEYNO#p138645 Quote Link to comment Share on other sites More sharing options...
emotta Posted April 29, 2014 Report Share Posted April 29, 2014 não é tão complicado não... a logica é que ele joga os RECNOS em um array na ordem da Chave e depois localizando o recno correspondente ele retorna a posicao do array... da certinho... só vou avaliar a performance disso, mas funcionar funciona... vlwww abraços emotta tem esse topico no forum internacional, achei meio complicado dai nao fiz teste http://forums.fivetechsupport.com/viewtopic.php?f=3&t=24327&p=138645&hilit=sqlrdd+xbrowse+ORDKEYNO#p138645 Quote Link to comment Share on other sites More sharing options...
sistem Posted April 29, 2014 Author Report Share Posted April 29, 2014 tentei o seguinte com base em xbrowse com array que tenho aki:(aplicando em tabela) n1=1 ... .... .. oLbxFami:bClrStd := {|| { CLR_WHITE, If(n1%2==0, CLR_BRW1, CLR_BRW2) } } oLbxFami:SetRDD() oLbxFami:bBookMark = { | nBkm | If( nBkm == nil, n1, n1:=nBkm ) } oLbxFami:bSkip = { | nSkip | Skp( Fami->(lastrec()), @n1, nSkip ) } *-------------------------------------------------------------------------------- FUNCTION Skp( nLastrec, n1, nSkip ) LOCAL nOld := n1 DEFAULT nSkip := 1 n1 += nSkip If n1 > nLastrec n1 = nLastrec Endif If n1 < 1 n1 = 1 Endif Return n1 - nOld o xbrowse fica com zebra mais os dados ficam repetindo, o mesmo dado do inicio do browse Quote Link to comment Share on other sites More sharing options...
sistem Posted July 21, 2018 Author Report Share Posted July 21, 2018 Function SR_OrdkeyNo() Local nItem:= 0, nRecno:= Recno(), nKey:= 0 DbGotop() DbEval({|| nItem++,Iif(Recno() == nRecno, nKey:= nItem,nil) },,{|| Empty(nKey) } ) If(Empty(nKey),nKey:= nItem,nil) DbGoto(nRecno) Return nKey http://forums.fivetechsupport.com/viewtopic.php?f=3&t=18670&start=0 precisei criar um coluna numerando os itens do pedido e pesquisando no forum internacional encontrei a função acima (pcordonet merece um prêmio).. irei ver o comportamento em tabelas grande numero de registro. Quote Link to comment Share on other sites More sharing options...
cnavarro Posted July 22, 2018 Report Share Posted July 22, 2018 Use this oBrw:bClrStd := {|| { CLR_WHITE, if( oBrw:KeyNo % 2 == 0, CLR_RED, CLR_BLUE ) } } Quote Link to comment Share on other sites More sharing options...
sistem Posted July 22, 2018 Author Report Share Posted July 22, 2018 cnavarro, oBrw:KeyNo não trabalhou como esperado... acredito que seja por conta do SQLRDD.... oBrw:KeyNo retorna sempre 0 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.