Francisco,
En el caso del TDbfBrowse, el método básico para indicar el campo es la
propiedad 'cFieldName', en el cual lógicamente sólo hay que indicar el
nombre del campo. Ahora bien esto no es suficiente para que se muestre
correctamente la columna, es necesario indicarle EN TIEMPO DE EJECUCIÓN la
tabla DBF a utilizar con el método 'SetDbf( cAlias )'. El evento OnCreate
del propio TDbfBrowse puede ser un buen sitio para llamar a dicho método.
Recuerda que la propiedad 'cPicture' te permite igualmente indicar el
formato de visualización del campo.
No obstante a veces el uso de la propiedad cFieldName se nos puede quedar
corto, en dicho caso hay que capturar los eventos OnGetData y OnGetValue. Te
remito a la documentación de la clase TBwCol para ello.
//---------------------------------------------------------- ----------------
EVENT OnGetData( oSender, @cText, @nImage )
oSender: Referencia al objeto que genera el evento
cText: Texto que se mostrará en el browse. Este parametro es pasado por
referencia lo que permite modificar puntualmente el valor del texto. Ha
de
ser siempre de tipo carácter
nImage: Número de imagen del objeto oParent:nImages que se mostrará. Este
parametro es pasado por referencia lo que permite modificar puntualmente
el valor del mismo.
Evento que se produce cuando se recupera la información de dicha columna
Importante: El dato cText SIEMPRE tiene que ser asignado en este evento,
en
caso contrario no mostrará ninguna información el browse para dicha
columna
Ejemplo: oCol:OnGetData := { |o, c, n| c := _Field->Nombre }
RETURN NIL
//---------------------------------------------------------- ----------------
EVENT OnGetValue( oSender )
oSender: Referencia al objeto que genera el evento
xValue: Valor inicial de edición para el control GridEdit
Evento que se produce cuando se entra en modo de edición. Si este evento
no
está definido el valor inicial de oGridEdit se obtendrá llamando al
evento
onGetData pero ello puede ser erroneo para tipos de datos distinto de
carácter.
Ejemplo: oCol:OnGetData := { |o, c, n| c := Str(_Field->Tipo, 1 }
oCol:OnGetValue := { |on| _Field->Tipo }
RETURN xValue
Un saludo
--
Ignacio Ortiz
www.xailer.com
"Francisco Sanchez" <
francisco@softwaretotal.biz> escribió en el mensaje
news:421a2702$[email=
1@ozsrv2.ozlan.local...]
1@ozsrv2.ozlan.local...[/email]
> YO lo hago desde codigo, PERO como añado los campos de la dbf al tdbbrowse
> ?
>
> WITH OBJECT oDBFBrowse := TDbfBrowse():New( oBevelContenedor )
> :nAlign := alCLIENT
> WITH OBJECT TBrwRecSel():New(:oDbfBrowse )
> :nWidth := 24
> :Create()
> END
>
> :nRowHeight := 18
> :Create()
>
> END
>
> Atentamente : Francisco Sanchez GERENTE GRUPO ST
>