Page 1 of 1

Para Antonio Linares un Array con xbrowse

Posted: Mon Jun 09, 2008 4:54 pm
by ruben Dario
Si tengo un array de 3 columnas como hago para que el xbrowse me muestre 2 , Segun el codigo le digo que muestre dos pero anexa la tercer columna.

Anexo codigo como lo hago actualmente.

Code: Select all

   local oChild, aCols[3]

   oBrw12 := TXBrowse():New( oDlg01 ) //oChild )
   oBrw12:CreateFromResource( 4003 )  // oBrw12:CreateFromCode()


   oBrw12:SetArray( aStruc  , .t. )
   oBrw12:Setcolor(nil,X_BROFOND)   
   oBrw12:nColDividerStyle := LINESTYLE_BLACK 
   oBrw12:nRowDividerStyle := LINESTYLE_BLACK 
   oBrw12:nMarqueeStyle    := MARQSTYLE_HIGHLCELL 
   oBrw12:lColDividerComplete := .f.

   oBrw12:lHScroll := .f.
   oBrw12:lVScroll := .f.
   oBrw12:lAllowColSwapping   := .F.     
   oBrw12:lAllowRowSizing     := .F.  
   oBrw12:bClrSelFocus   := {|| { CLR_BLACK,X_BROFOCU} }        
   oBrw12:bClrHeader     := {|| { CLR_BLACK,X_BROHEAD } }      
   oBrw12:bClrFooter     := {|| { CLR_BLACK,X_BROFOTT } }   
   oBrw12:bClrSel :={|| { X_BROCELST,X_BROCELSF } }
   oBrw12:nHeaderHeight := 25
   oBrw12:nRowHeight    := 22

 oBrw12:l2007 := .T.

   oBrw12:aCols[1]:cHeader := "Cke   "
   oBrw12:aCols[1]:AddResource("CHECK_SI")
   oBrw12:aCols[1]:AddResource("CHECK_NO")
   oBrw12:aCols[1]:bBmpData  := { || iif(aStruc[ oBrw12:nArrayAt, 1 ], 1, 2) }
   oBrw12:aCols[1]:nHeadStrAlign := AL_LEFT 
   oBrw12:aCols[1]:nDataStrAlign := AL_LEFT 
   oBrw12:aCols[1]:bStrData  := { || iif(aStruc[ oBrw12:nArrayAt, 1 ],"Si","No") } 
   oBrw12:aCols[1]:bOnPostEdit  := {|o,x| If( aStruc[oBrw12:nArrayAt,1], aStruc[oBrw12:nArrayAt,1]:=.f.,;
                                        aStruc[oBrw12:nArrayAt,1]:=.t.) }
   oBrw12:aCols[1]:bClrSelFocus := { || { CLR_BLACK, CLR_YELLOW } }

   oBrw12:aCols[2]:cHeader := "Nombre                               "
   oBrw12:aCols[2]:nDataStrAlign := AL_LEFT //AL_RIGHT
   oBrw12:aCols[2]:nHeadStrAlign := AL_LEFT //AL_RIGHT
   oBrw12:aCols[2]:bOnPostEdit  := {|o,x| aStruc[ oBrw12:nArrayAt, 2 ] := x }
   
    oBrw12:bLDblClick := {|| ( if(aContl[1]=1,If( aStruc[oBrw12:nArrayAt,1], aStruc[oBrw12:nArrayAt,1]:=.f.,;
                                 aStruc[oBrw12:nArrayAt,1]:=.t.),), oBrw12:refresh() ) }
      FOR nFor := 1 to Len( aCols )
          oBrw12:aCols[ nFor ]:lAllowSizing := .F. //no permitir q' redimensionen las columnas.(Para cada columna )
          oBrw12:aCols[ nFor ]:bRClickHeader = { || nil }   // no permite quitar columnas     
      NEXT

Posted: Mon Jun 09, 2008 6:05 pm
by ADBLANCO
Cambia el límite del for-next, en lugar de len(aCols), pon 2



Suerte!!

Posted: Mon Jun 09, 2008 10:16 pm
by ruben Dario
ADBLANCO wrote:Cambia el límite del for-next, en lugar de len(aCols), pon 2



Suerte!!
Pero me quieres decir definir el array de 2,
Lo que entiendo es que cuando se define esta instrucion toma toda la dimenticon del array oBrw12:SetArray( aStruc )

O sera posible ocultar columnas en en xbrowse

Si a usted le ha funcionado me podrias facilitar un ejemplo

Posted: Mon Jun 09, 2008 10:46 pm
by wmormar
oBrw:aCols[1]:hide()
oBrw:aCols[3]:hide()
oBrw:aCols[5]:hide()

Posted: Tue Jun 10, 2008 9:20 pm
by ruben Dario
wmormar wrote:oBrw:aCols[1]:hide()
oBrw:aCols[3]:hide()
oBrw:aCols[5]:hide()

Gracias , Funciono , Ocultando la columna