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 los campos, mas los dos que deseo que me muestre

Estoy utilizando FWH 7.01

Que debo hacer para que no muestre todos los campos?.



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 los campos de la DBF en uso. Para poder evitarlo tienes que modificar este método así:

Code: Select all | Expand

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


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