Hola Carlos,
Usas asi:
Code: Select all
oBrw := TXBrowse():New( oDlg1 )
oBrw:nMarqueeStyle := MARQSTYLE_HIGHLROW
oBrw:nColDividerStyle := LINESTYLE_LIGHTGRAY
oBrw:nRowDividerStyle := LINESTYLE_LIGHTGRAY
oBrw:bSeek := {|c| DbSeek( Upper( c ) ) }
Y en las columnas, yo defino asi:
Code: Select all
oCol := oBrw:AddCol()
oCol:cHeader := "Código"
oCol:bStrData := { || IF( SELECT(oBrw:cAlias) > 0,PRO->codi,"") }
oCol:nDataStrAlign := AL_LEFT
oCol:nHeadStrAlign := AL_LEFT
oCol:nWidth := 82
oCol:bLClickHeader := {|| Checa_Indices(1,1,oBrw,"PRO") }
oCol:AddBmpFile( "BLANK.BMP", .T. )
oCol:AddBmpFile( "CLIP.BMP", .T. )
oCol:nHeadBmpNo := 2
oCol := oBrw:AddCol()
oCol:cHeader := "Descrição"
oCol:bStrData := { || IF( SELECT(oBrw:cAlias) > 0,PRO->nome,"") }
oCol:nDataStrAlign := AL_LEFT
oCol:nHeadStrAlign := AL_LEFT
oCol:nWidth := 302
oCol:bLClickHeader := {|| Checa_Indices(2,2,oBrw,"PRO") }
oCol:AddBmpFile( "BLANK.BMP", .T. )
oCol:AddBmpFile( "CLIP.BMP", .T. )
oCol:nHeadBmpNo := 1
Donde la función Checa_Indices() es solo para cambiar el bitmap que aparece en el header, asi:
Code: Select all
//----------------------------------------------------------------------------//
Function Checa_Indices( nX, nZ, oBrwX, xAlias )
// Verificação do set order e dos headers
// nX - Índice
// nZ - Posição da coluna no browse
// oBrwX - Browse
// xAlias - Tabela a ser atualizada
//----------------------------------------------------------------------------//
for nA := 1 to len( oBrwX:aCols )
oCol := oBrwX:aCols[ nA ]
if oCol:nHeadBmpNo > 0
if nA = nZ
oCol:nHeadBmpNo := 2
else
oCol:nHeadBmpNo := 1
endif
endif
next
sele (xAlias)
DbSetOrder(nX)
oBrwX:Refresh()
return nil
Espero que te ayude.
Saludos,