Página 1 de 1

TdbBrowse

Publicado: Mié Feb 16, 2005 4:36 pm
por paco-ssi
Cuando me pongo en las propiedad a cols del TDBBrowse, pico para añadir las
columnas y no me las guarda.
Sabeis que es lo que hago mal?
Paco V

TdbBrowse

Publicado: Dom Feb 20, 2005 5:33 pm
por ignacio
Paco,
Mandanos un pequeño ejemplo. Sin más información es imposible saber que
haces mal.
Un saludo,
--
Ignacio Ortiz
www.xailer.com
"Paco V." <paco-ssi@usuarios.retecal.es> escribió en el mensaje
news:421368e6$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Cuando me pongo en las propiedad a cols del TDBBrowse, pico para añadir
> las
> columnas y no me las guarda.
>
> Sabeis que es lo que hago mal?
>
> Paco V
>
>

TdbBrowse

Publicado: Lun Feb 21, 2005 7:22 pm
por Francisco Sanchez
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

TdbBrowse

Publicado: Mar Feb 22, 2005 10:38 am
por ignacio
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
>