Page 1 of 1

Duda con Twbrowse

Posted: Fri Oct 12, 2007 5:03 pm
by JHON JAIRO VALENCIA DIAZ
:x
Señores

Tenemos duda en twbrowse, en el cual utilizamos un archivo llamado catastro que tiene Diez (10) Campos; donde solamente deseo mostrar dos (2) de ellos.

Lo he realizado como lo ven en el siguiente ejemplo, pero al compilarlo me muestra todos _, mas los dos que deseo que me muestre

Estoy utilizando FWH 7.01

Que debo hacer para que no muestre todos _?.



STATIC FUNCTION ChgColors

#define DIALOG_15 15

local oChild, oBrw,oDlg11,oCOL
select 1
USE CATASTRO
go top

DEFINE DIALOG oDlg11 RESOURCE DIALOG_15 of oWnd
oBrw := TXBrowse():New( oDlg11 )


oBrw:nMarqueeStyle := MARQSTYLE_HIGHLROW
oBrw:nColDividerStyle := LINESTYLE_BLACK
oBrw:nRowDividerStyle := LINESTYLE_BLACK
oBrw:lColDividerComplete := .t.
oBrw:SetRDD()


oBrw:bClrStd := {|| {CLR_BLACK, iif( Field->color1, CLR_WHITE, CLR_HCYAN ) } }
oBrw:CreateFromResource( 101 )

oCol := oBrw:AddCol()
oCol:bStrData := { || _FIELD->CODIP01}
oCol:cHeader := "Código Catastral"
oCol:nHeadStrAlign := AL_LEFT
oCol:nDataStrAlign := AL_LEFT
oCol:nWidth := 100


oCol := oBrw:AddCol()
oCol:bStrData := { || _FIELD->NOMIP01}
oCol:cHeader := "Propietario"
oCol:nHeadStrAlign := AL_LEFT
oCol:nDataStrAlign := AL_LEFT
oCol:nWidth := 400

oDlg11:oClient := oBrw
activate window oDlg11

return nil

Posted: Fri Oct 12, 2007 7:33 pm
by Antonio Linares
JHON,

El método SetRdd() por defecto añade las columnas correspondientes a _ de la DBF en uso. Para poder evitarlo tienes que modificar este método así:

Code: Select all

METHOD SetRDD( lAddColumns ) CLASS TXBrowse
...
   DEFAULT lAddColumns := .T.
...
   if lAddColumns
      if len( ::aCols ) == 0
         nFields := ( cAlias )->( FCount() )
         for nFor := 1 to nFields
            oCol := ::AddCol()
            oCol:cHeader  := ( cAlias )->( FieldName( nFor ) )
            oCol:bStrData := GenFieldBlock( cAlias, nFor )
         next
      endif
   endif   
Ahora en tu código sólo tienes que hacer:
oBrw:SetRdd( .F. )

Las puedes quitar asi....

Posted: Fri Oct 12, 2007 10:56 pm
by leandro
Las puedes quitar de la siguiente Manera:

Code: Select all


STATIC FUNCTION ChgColors 

#define DIALOG_15 15 

local oChild, oBrw,oDlg11,oCOL 
select 1 
USE CATASTRO 
go top 

DEFINE DIALOG oDlg11 RESOURCE DIALOG_15 of oWnd 
oBrw := TXBrowse():New( oDlg11 ) 


oBrw:nMarqueeStyle := MARQSTYLE_HIGHLROW 
oBrw:nColDividerStyle := LINESTYLE_BLACK 
oBrw:nRowDividerStyle := LINESTYLE_BLACK 
oBrw:lColDividerComplete := .t. 
oBrw:SetRDD() 


oBrw:bClrStd := {|| {CLR_BLACK, iif( Field->color1, CLR_WHITE, CLR_HCYAN ) } } 
oBrw:CreateFromResource( 101 ) 

oCol := oBrw:AddCol() 
oCol:bStrData := { || _FIELD->CODIP01} 
oCol:cHeader := "Código Catastral" 
oCol:nHeadStrAlign := AL_LEFT 
oCol:nDataStrAlign := AL_LEFT 
oCol:nWidth := 100 


oCol := oBrw:AddCol() 
oCol:bStrData := { || _FIELD->NOMIP01} 
oCol:cHeader := "Propietario" 
oCol:nHeadStrAlign := AL_LEFT 
oCol:nDataStrAlign := AL_LEFT 
oCol:nWidth := 400 

oBrw:DelCol(3)
oBrw:DelCol(4)
oBrw:DelCol(5)
oBrw:DelCol(6)

oDlg11:oClient := oBrw 
activate window oDlg11 

return nil

Espero te sirva...

Posted: Tue Oct 16, 2007 7:32 pm
by JHON JAIRO VALENCIA DIAZ
gracias, nos funcionó.



//////////////////////////////////

:?: Otra de Las dudas que tenemos; Es como hacer que dentro del mismo TXBROWSE dando doble clic sobre un registro, nos despliegue una ventana, para modificarlo.



Leandro, Necesito tu teléfono ó Celular Para Contactarnos.




Gracias;

Jhon Jairo Valencia Diaz Y Adolfredo Martinez
"Aracataca - Magdalena" Colombia

Posted: Tue Oct 16, 2007 7:39 pm
by Armando
Jhon:

Con doble clic:
oLbx:blDblClick := { | nRow, nCol, nKey | TuFuncion()}

Y con ENTER:
oLbx:bKeyDown := { | nKey, nFlags | TuFuncion()}

Saludos

Posted: Wed Oct 17, 2007 7:55 pm
by JHON JAIRO VALENCIA DIAZ
:lol: Gracias, Armando.


Espera llamada en cualquier momento.


Si tienes ejemplos de manejo completo con TXBROWSE, te lo agradezco me lo envies al siguiente correo. jhonjvd@yahoo.es ó adolfredomartinez_1963@yahoo.com