alex2002 Posted December 17, 2014 Report Share Posted December 17, 2014 Olá galera. Estou tendo um problema com a xBrowse. Ela a princípio mostra a tela legal, porém ao clicar uma vez, em algumas linhas, ele posiciona o focus em registro diferente (coisa mais doida). O código está assim: /// DEFINE DIALOG oDlg RESOURCE 'SELECIONAAGENCIA' TITLE 'Usuário: '+oVs:UsCodOper+' '+oVs:UsNomeOper oDlg:lHelpIcon := .f. redefine xBrowse oLbx fields TmpAg->ag_codigo, TmpAg->ag_sigla, TmpAg->ag_cidade, TmpAg->ag_uf ; ALIAS 'TmpAg' ID 601 OF oDlg FIELDSIZES 80, 120, 170, 80 ; HEADERS 'Agência','Sigla','Cidade','UF' COLORS CLR_BLUE,CLR_WHITE UPDATE oLbx:blDblClick := {|| (lSair := .t., nOption := 1, oDlg:end() ) } oLbx:bKeyDown := {|nK| if( nK != VK_RETURN, , (lSair := .t., nOption := 1, oDlg:end() ))} redefine buttonBMP oBtn01 bitmap "ok16" ID 101 of odlg TEXTRIGHT action( lSair := .t., nOption := 1, oDlg:end() ) TOOLTIP 'Inicia o Trabalho com a Agencia Selecionada' redefine buttonBMP oBtn10 bitmap "sai16" ID 109 of odlg TEXTRIGHT action( lSair := .t., nOption := 2, oDlg:end() ) TOOLTIP 'Volta ao menu principal' CANCEL ACTIVATE DIALOG oDlg CENTERED valid lSair //// Coloquei uma tela anexo para vcs verem o que acontece. O estranho é que com o Duplo Clique funciona legal. Eu nem tinha percebido isso, mas o cliente me mostrou e eu fiquei assustado. Alguém tem a solução? Um abraço, Audreyfet, JulianaEt and Michaelegot 3 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted December 17, 2014 Report Share Posted December 17, 2014 Veja se ajuda: http://forums.fivetechsupport.com/viewtopic.php?f=3&t=21058&start=0&hilit=Called+from%3A+.%5Csource%5Cclasses%5CXBROWSE.PRG+%3D%26amp%3Bgt%3B+XBROWSENEW Quote Link to comment Share on other sites More sharing options...
kapiaba Posted December 17, 2014 Report Share Posted December 17, 2014 Veja este exemplo de TESTXBR3.PRG static function RddBrwSelColsWin local oWnd, oBrw, oCol, cAlias := cGetNewAlias( "CUST" ) local oBrush, n cFunc := ProcName( 0 ) USE CUSTOMER NEW ALIAS (cAlias) SHARED VIA "DBFCDX" SET ORDER TO TAG STATE GO TOP DEFINE BRUSH oBrush RESOURCE "STONE" DEFINE WINDOW ownd MDICHILD OF WndMain() TITLE "RDD - Selected Cols" @ 0,0 XBROWSE oBrw ; COLUMNS "State", "City", "First", "Married", "HireDate", "Age", "Salary", "Last", "date()" ; JUSTIFY .f., AL_CENTER, .t. ; OF ownd ; ALIAS cAlias AUTOSORT FASTEDIT FOOTERS LINES CELL WITH OBJECT oBrw:Salary :nFooterType := AGGR_AVERAGE :bLClickFooter := { |r,c,f,o| FooterAggrClick( r, c, f, o ) } END AEval( oBrw:aCols, { |o| o:cToolTip := { 'Column :' + CRLF + o:cHeader, 'ToolTip' } } ) WITH OBJECT oBrw :nEditTypes := EDIT_GET :Married:SetCheck( , .t. ) :HireDate:cEditPicture := 'dd mmm yyyy' :bClrRowFocus := { || { CLR_BLACK, RGB(185,220,255) } } :nMarqueeStyle := MARQSTYLE_HIGHLROWMS :bPopUp := { |o| ColMenu( o ) } :lFormulaEdit := .t. :MakeTotals() :CreateFromCode() END oWnd:oClient := oBrw BtnBar( oBrw) SET MESSAGE OF oWnd TO "RDD Selected Cols" 2007 oWnd:bPostEnd := { || ( cAlias )->( DBCLOSEAREA() ) } ACTIVATE WINDOW oWnd ON INIT oBrw:SetFocus() return nil abs Quote Link to comment Share on other sites More sharing options...
alex2002 Posted December 17, 2014 Author Report Share Posted December 17, 2014 Fala Kapi. Então, olha só nos exemplos que vc enviou não fala sobre este problema. A questão é que o Browse apresenta legal. O problema é na seleção, se clico em uma linha ele foca em outra. Com o duplo clique funciona. Se o cara não selecionar por um clique fica tudo numa boa. Mas dai está errado. Até vi a questão do SetRDD porque uso a SQLLIB mas não funcionou. Eu estou achando isso a coisa mais maluca do mundo. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted December 17, 2014 Report Share Posted December 17, 2014 Tente colocando o: AUTOSORT FASTEDIT FOOTERS LINES CEL Veja também: AUTOCOLS para ver que bixa dá... kkkkkkkkkkk abs Quote Link to comment Share on other sites More sharing options...
kapiaba Posted December 17, 2014 Report Share Posted December 17, 2014 Veja este exemplo com SQLIB: http://sqllib.googlecode.com/svn/samples/cadas/CUSTOMER.PRG Abs Quote Link to comment Share on other sites More sharing options...
alex2002 Posted December 17, 2014 Author Report Share Posted December 17, 2014 Resolvido. O problema era o DBSETORDER. Como é uma tabela resultado de um select, não existe índice. Dai xBrowse tentava usar o indice 1. Eu coloquei: alias->( dbsetorder(0) ) e resolveu. Na minha opinião é BUG. Mas fazer o que? Valeu João. kapiaba 1 Quote Link to comment Share on other sites More sharing options...
alex2002 Posted March 4, 2015 Author Report Share Posted March 4, 2015 Olá Pessoal. Na versão 14.12 voltou o erro, mesmo eu colocando o raios do dbsetorder(0) o "trem" está dando pau. Alguem sabe me dizer se mudou algo na xBrowse nesta versão? Quote Link to comment Share on other sites More sharing options...
aferra Posted March 5, 2015 Report Share Posted March 5, 2015 Depois de muito lutar com xBrowse desta forma não tive mais problema nenhum em trocar de versões. Tente desta maneira quem para vc tb resolva. @ 00,00 XBROWSE oLbx SIZE 000,000 PIXEL OF oDlg ALIAS "TmpAg" AUTOSORT LINES ADD COLUMN TO XBROWSE oLbx DATA ag_codigo HEADER 'Agência' SIZE 80 ADD COLUMN TO XBROWSE oLbx DATA ag_sigla HEADER 'Sigla' SIZE 120 ADD COLUMN TO XBROWSE oLbx DATA ag_cidade HEADER 'Cidade' SIZE 170 ADD COLUMN TO XBROWSE oLbx DATA ag_uf HEADER 'UF' SIZE 80 oLbx:nMarqueeStyle := MARQSTYLE_HIGHLROW oLbx:lAllowColSwapping := .F. // Não Move a Coluna oLbx:lAllowRowSizing := .F. // Não Altera o Tamanho da Linha oLbx:lAllowColHiding := .F. // Não Mostra o Menu oLbx:blDblClick := {|| (lSair := .t., nOption := 1, oDlg:end() ) } oLbx:bKeyDown := {|nK| if( nK != VK_RETURN, , (lSair := .t., nOption := 1, oDlg:end() ))} oLbx:CreateFromCode() Quote Link to comment Share on other sites More sharing options...
alex2002 Posted March 6, 2015 Author Report Share Posted March 6, 2015 Pois é Alessandro. Também não funfou. Eu acho que tem a ver com o Setorder. Cara, é a coisa mais esquisita do mundo. Na versão 13.09 eu tinha colocado alias->(setorder(0)) e tinha corrigido. Mas na 14.12 voltou a dar o problema. Estranho. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted March 9, 2015 Report Share Posted March 9, 2015 Voce poderia fazer um exemplo simples e postar em dicas ou no www.4shared.com ? Assim fica mais fácil t ajudar, né? abs. 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.