Jump to content
Fivewin Brasil

Lentidao no Listbox


edutraini

Recommended Posts

Pessoal estou fazendo algumas mudanças no meu sistema.

Uma delas e mudar a tela de pedidos aonde tinha um listbox dentro de uma dialog mostrando os pedidos de vendas e agora estou colocando esse listbox dentro de uma janela em formato mdichild (DEFINE WINDOW oWndPedidos MDICHILD OF oWnd TITLE "Cadastro de Pedidos de Vendas") .

Percebi que a navegacao dentro do listbox ficou mais lenta  ou seja ele da uma pipocadas quando subo e desço.

E assim mesmo ou devo estar fazendo alguma coisa de errado, conforme fonte abaixo

    DEFINE WINDOW oWndPedidos MDICHILD OF oWnd TITLE "Cadastro de Pedidos de Vendas"
   
      oBar  := BrwBtnBar(  oWndPedidos )

 @ 5, 0 listbox oBrw  LINES;
           FIELDS TRAN(PED->NROPEDIDO,"9999999"),DTOC(PED->DTPEDIDO),TRANS(PED->CODCLI,"9999999")+"-"+PED->NOMECLI,;
           DTOC(PED->DTENTREGA),DTOC(PED->DTEXECUTA),TRANS(PED->VLRMERCAD,"9,999,999.99"),TRANS(PED->TOTPEDIDO,"9,999,999.99"),PED->STATUS,iif(PED->CREDITO,hBitMap,"  "),subs(PED->HORA,1,5)+" / "+PED->IMPRIME,STR(PED->VENDEDOR,3),STR(PED->USUARIO,3),STR(PED->NRONOTA,6);
           HEADERS 'Nr.Ped','Dt.Emissao','Cliente','Dt.Entrega','Dt.Baixa','Vlr.Mercad.','Tot.Pedido','St','Cred.Lib','Hora/Imp','Vendedor','Usu','Nota';
           FIELDSIZES  50,70,350,70,70,70,70,30,50,60,60,30,60  ;
            ALIAS  "PED" OF oWndPedidos UPDATE //FONT oFont

    
        
     WITH OBJECT oBrw
      :aJustify   := {.t.,.t.,.f.,.t.,.t.,.t.,.t.,.t.,.t.,.t.,.t.,.t.,.t.}   /* Justicar o texto na listbox */
      :bChange       := {|| Refresca(oBrw)}
      :bLDblClick    := {|nRow,nCol|MostraPV("1")}
        :bKeyDown      := {|nKey| Val_nKey(nKey)}
          :nClrPane      :={|nRow,nCol,nStyle| IIF(ped->Status="C",CLR_VERMESC,CLR_BRANCO)}
 

 

Link to comment
Share on other sites

 

Pessoal estou fazendo algumas mudanças no meu sistema.

Uma delas e mudar a tela de pedidos aonde tinha um listbox dentro de uma dialog mostrando os pedidos de vendas e agora estou colocando esse listbox dentro de uma janela em formato mdichild (DEFINE WINDOW oWndPedidos MDICHILD OF oWnd TITLE "Cadastro de Pedidos de Vendas") .

Percebi que a navegacao dentro do listbox ficou mais lenta  ou seja ele da uma pipocadas quando subo e desço.

E assim mesmo ou devo estar fazendo alguma coisa de errado, conforme fonte abaixo

    DEFINE WINDOW oWndPedidos MDICHILD OF oWnd TITLE "Cadastro de Pedidos de Vendas"
   
      oBar  := BrwBtnBar(  oWndPedidos )

 @ 5, 0 listbox oBrw  LINES;
           FIELDS TRAN(PED->NROPEDIDO,"9999999"),DTOC(PED->DTPEDIDO),TRANS(PED->CODCLI,"9999999")+"-"+PED->NOMECLI,;
           DTOC(PED->DTENTREGA),DTOC(PED->DTEXECUTA),TRANS(PED->VLRMERCAD,"9,999,999.99"),TRANS(PED->TOTPEDIDO,"9,999,999.99"),PED->STATUS,iif(PED->CREDITO,hBitMap,"  "),subs(PED->HORA,1,5)+" / "+PED->IMPRIME,STR(PED->VENDEDOR,3),STR(PED->USUARIO,3),STR(PED->NRONOTA,6);
           HEADERS 'Nr.Ped','Dt.Emissao','Cliente','Dt.Entrega','Dt.Baixa','Vlr.Mercad.','Tot.Pedido','St','Cred.Lib','Hora/Imp','Vendedor','Usu','Nota';
           FIELDSIZES  50,70,350,70,70,70,70,30,50,60,60,30,60  ;
            ALIAS  "PED" OF oWndPedidos UPDATE //FONT oFont

    
        
     WITH OBJECT oBrw
      :aJustify   := {.t.,.t.,.f.,.t.,.t.,.t.,.t.,.t.,.t.,.t.,.t.,.t.,.t.}   /* Justicar o texto na listbox */
      :bChange       := {|| Refresca(oBrw)}
      :bLDblClick    := {|nRow,nCol|MostraPV("1")}
        :bKeyDown      := {|nKey| Val_nKey(nKey)}
          :nClrPane      :={|nRow,nCol,nStyle| IIF(ped->Status="C",CLR_VERMESC,CLR_BRANCO)}
 

 

Em caso de tabelas grandes isto acontece mesmo. Resolvi assim:

lWHITE := .F.
DEFINE DIALOG oDlg RESOURCE "ACERTEST" FONT oFONTSCR OF oWnd
   REDEFINE LISTBOX oLbx;
                FIELDS DTOC(ARQACER->VENDAT),ARQACER->VENDOCT,LEFT(ARQACER->VENNPROD,39),STR(ARQACER->VENQTDE,8,1),STR(ARQACER->USUARIO,3),ARQACER->VENPROD,ARQACER->VENMOTIV;
                SIZES 56, 320;
                HEADERS  "DATA","DOCUMENTO","PRODUTO","   QTDE"," US","CODIGO","MOTIVO";
                ID 101 OF oDlg COLORS CLR_FONLBX,CLR_FUNLBX
   REDEFINE BUTTON ID 102 OF oDlg ACTION SeleOpcAc(0,"I",oLbx,oDlg) // Sua function de inclusao
   REDEFINE BUTTON ID 103 OF oDlg ACTION ( oDlg:End() )
   oLbx:bKeyDown := { | nKey | SeleOpcAc(nKEY," ",oLbx,oDlg)  }
   
   oLbx:nClrPane  := { || IIF( lWHITE,(lWHITE := .F.,CLR_FUNLBX),(lWHITE := .T.,CLR_FUNLBX2)) }
ACTIVATE DIALOG oDlg CENTERED  // Ativa a janela de dialog
 

Link to comment
Share on other sites

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