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.
En un form deseo mostrar un catálogo de clientes, de una dbf, pero no sé dónde ubicar el método SetDbf, sé que lo puedo poner directo en el inspector de objetos, tanto el alias, como los fieldnames, pero por mis razones
deseo hacerlo vía código. la asignación de campos funciona, ahora si pongo en el evento onshow del formulario el setdbf si funciona todo, pero creo que debería poder ponerse en el with object. no se si estoy claro.
incluso intente ponerlo en el onInitialize del formo y no funciona, se supone que ahí ya están creados los controles, que me está faltando entender...
gracias por su guía...
WITH OBJECT ::oDbfBrowse1 := TDbfBrowse():New( Self )
:SetBounds( 12, 20, 562, 315 )
WITH OBJECT TBrwRecSel():New( ::oDbfBrowse1 )
:nWidth := 70
:OnGetData := "DbfBrowse1GetData"
:Create()
END
:nHeaderHeight := 36
:nRowHeight := 18
:lFilterBar := .T.
WITH OBJECT TDbfBrwColumn():New( ::oDbfBrowse1 )
:cHeader := "First"
:nWidth := 99
:cFieldName := "FIRST"
:Create()
END
WITH OBJECT TDbfBrwColumn():New( ::oDbfBrowse1 )
:cHeader := "Last"
:nWidth := 145
:cFieldName := "LAST"
:Create()
END
:OnCreate := "DbfBrowse1Create"
:Create()
END
Observe que como es en el evento OnCreate del DbfBrowse cuando se llama a SetDbf(). En este caso las columnas se crean antes de asignar la DBF que es lo más normal.
Si usted no ha creado ninguna columna y llama SetDbf() DESPUES DEL CREATE() el control DbfBrowse creara todas las columnas por usted. Por ejemplo: