FoxPro/Visual FoxPro - INIT O LOAD

 
Vista:

INIT O LOAD

Publicado por javier (90 intervenciones) el 05/05/2006 18:20:36
hola amigos
tengo 2 dudas una es hacerca del uso de INIT y de LOAD en los form, ¿En cual Cargo las bases de datos, y variables.?

La otra duda es como hago para ingresar datos directamente a un grid, por ejemplo si tengo u texbox de cliente el cual verifica si efectivamente existe el cliente, si existe trae sus datos personales y los muestra en varios label,( hasta ahi esta todo OK), despues debe permitir activar el grid e ingresar los datos al grid , compuesto de tres columnas , con ingresos ilimitados.

estev es el codigo que estoy usando

thisform.grid1.recordsourcetype=0
thisform.grid1.RecordSource="c:\credval\vales1.dbf"
thisform.grid1.AllowAddNew=.t.
thisform.grid1.Enabled=.t.
this.ReadOnly= .F.
thisform.grid1.column1.header1.caption="Nº Vale"
thisform.grid1.column2.header1.caption="Valor"
thisform.grid1.column3.header1.caption="Materia"
APPEND BLANK


Atte Javier
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:INIT O LOAD

Publicado por Juan (537 intervenciones) el 06/05/2006 15:31:26
1 las variables en el Init y los set
Set default to
Set States Off
Set Safe Off
Set Score Off
Set Cent On
Set Date to Brit
2 en el Load los Indices algunos Set
Set Delete On

GRID :
sería algo así en tú código el Append Blank está demás
ahora en el evento After Row Colchange del Grid
solo haces los Replace por los Thisforms y sus tetx
ejemplo

Replace Nombre With Thisform.Pageframe1.Page1.Text1.Value
Etc..
Etc..
Tú adecua el código a tú necesidad esto es un ejemplo

Thisform.Pageframe1.Page1.grid1.AllowAddNew=.T.
Thisform.pageframe1.page1.grid1.columncount=4
Thisform.Pageframe1.Page1.grid1.recordsource="tabla4"
Thisform.Pageframe1.Page1.grid1.LinkMaster="tabla1"


Thisform.Pageframe1.Page1.Grid1.column1.header1.caption="Cuenta"
Thisform.Pageframe1.Page1.Grid1.Column1.header1.FontBold=.t.
Thisform.Pageframe1.Page1.Grid1.column1.controlsource="tabla4.cuenta"
Thisform.Pageframe1.Page1.Grid1.SetAll("DynamicBackColor", "IIF(MOD(RECNO( ), 2)=0, RGB(255,255,255), RGB(0,255,255))", "Column") && Alterna registros blancos y verdes

Thisform.Pageframe1.Page1.grid1.Column1.Text1.InputMask="#.##.##.##"
*--------------------------------------------------------------------
Thisform.Pageframe1.Page1.Grid1.column2.header1.caption="Nombre"
Thisform.Pageframe1.Page1.Grid1.Column2.header1.FontBold=.t.
Thisform.Pageframe1.Page1.Grid1.column2.controlsource="tabla4.nombre"
*---------------------------------------------------------------------
Thisform.Pageframe1.Page1.Grid1.column3.header1.caption="Detalle"
Thisform.Pageframe1.Page1.Grid1.Column3.header1.FontBold=.t.
Thisform.Pageframe1.Page1.Grid1.column3.controlsource="tabla4.descripcio"
Thisform.Pageframe1.Page1.Grid1.Column3.Text1.Width=20
*-------------------------------------------------------------------
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:INIT O LOAD

Publicado por atak (12 intervenciones) el 06/05/2006 18:15:45
Hola

1.- Elije INIT ya que se ejecuta cuando se inicializan los controles ... en cambio LOAD es solo para el form.

estoy de acuerdo con la solucion anterior .....


2.- un poco para orientarte en el GRID

mi tabla
======
cliente nombre, ruc, direccion ( por ejemplo )

Para cargar de DATA a mi GRID

thisform.grid1.reacordsource="cliente"
thisform.grid1.reacordsource.column1="cliente.codigo"
thisform.grid1.reacordsource.column2="cliente.ruc"
thisform.grid1.reacordsource.column3="cliente.direccion"

****

Espero que te ayude
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:INIT O LOAD

Publicado por javier (90 intervenciones) el 08/05/2006 21:55:36
Hola
Sabes que no se me activa el grid para ingresar los datos
atte Javier
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:INIT O LOAD

Publicado por Juan (537 intervenciones) el 09/05/2006 15:54:00
Muestra tú código para tener una referencia..
Verificaste el Objeto Grid en su Propiedad AllAddnew=.t.
ReadOnly=.f. en cada
Columna esto último.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:INIT O LOAD

Publicado por javier (90 intervenciones) el 09/05/2006 17:22:30
Ahi va el Codigo
probe colocandolo en el init del grid y en el beforrowcolchange
pero no activa el grid

thisform.grid1.columncount=3
thisform.grid1.recordsourcetype=0
thisform.grid1.RecordSource="c:\credval\vales1.dbf"
thisform.grid1.column1.header1.caption="Nº Vale"
thisform.grid1.column2.header1.caption="Valor"
thisform.grid1.column3.header1.caption="Materia"
thisform.grid1.AllowAddNew=.t.
thisform.grid1.Enabled=.t.
thisform.grid1.ReadOnly= .F.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:INIT O LOAD

Publicado por Juan (537 intervenciones) el 09/05/2006 21:46:26
No tiene un orden lógico tú código ..aqui te lo ordeno como
debe Ir y algunas rectificaciones
Ahora prueba en el Init del Grid ..si no funciona traslada el
código al Init del Form y agregas una linea antes que es
esta :
Set Default to c:\credva

thisform.grid1.AllowAddNew=.t.
thisform.grid1.Enabled=.t.
thisform.grid1.columncount=3

thisform.grid1.column1.header1.caption="Nº Vale"
thisform.grid1.column2.header1.caption="Valor"
thisform.grid1.column3.header1.caption="Materia

thisform.grid1.RecordSource="c:\credval\vales1"
*aqui no necesita la extensión dbf
thisform.grid1.ReadOnly= .F.
Thisform.Grid.Refresh
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:INIT O LOAD

Publicado por javier (90 intervenciones) el 09/05/2006 23:21:08
Todavia no funcion, al parecer el problema es que la tabla esta vacia, ya que le ingreso registro y me fuciona , pero al vaciar la tabla , ya no activa el grid.
atte javier
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:INIT O LOAD

Publicado por Juan (537 intervenciones) el 10/05/2006 18:54:59
Javier efectivamente cuando una tabla esta sin registros
no se activa el GRID..y si queremos añadirle un registro hay que
asignar un campo que sea de puntal a una variable
ejemplo numero es un campo de la tabla1 y esta no tiene
datos y quiero añadirle ..
se haria asi

un botón Command

public num
num=0
Append Blank
Repl numero With 1
*esto lo hace en forma interna sin necesidad de incluir
este campo en el Grid Ok.
en todas las filas tendra un 1 y se añadirán los registros
que esten asignados en los campos del Grid

Thisform.Pageframe1.Page1.grid1.AllowAddNew=.T.
Thisform.pageframe1.page1.grid1.columncount=4
Thisform.Pageframe1.Page1.grid1.recordsource="tabla1"
*---------------------------------------------------------------------------------------------------
Thisform.Pageframe1.Page1.Grid1.column1.header1.caption="Cuenta"
Thisform.Pageframe1.Page1.Grid1.Column1.header1.FontBold=.t.
Thisform.Pageframe1.Page1.Grid1.column1.controlsource="tabla1.cuenta"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:INIT O LOAD ahora funciona

Publicado por javier (90 intervenciones) el 15/05/2006 18:01:37
Gracias
Ahora me funciona perfectamente, habia que ingresar un registro a la tabla para activar el grid


Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar