In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

TdbBrowse

Foro de Xailer profesional en español
Responder
paco-ssi
Mensajes: 390
Registrado: Lun Feb 07, 2005 4:17 pm

TdbBrowse

Mensaje 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
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9246
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

TdbBrowse

Mensaje 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
>
>
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Francisco Sanchez
Mensajes: 532
Registrado: Mié Feb 09, 2005 6:20 pm

TdbBrowse

Mensaje 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
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9246
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

TdbBrowse

Mensaje 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
>
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Responder