FoxPro/Visual FoxPro - Insertar datos en un Gris

 
Vista:

Insertar datos en un Gris

Publicado por Juan Pablo (94 intervenciones) el 15/11/2007 15:39:14
Saludos a todos...y de paso espero que se encuentren muy bien...

Tengo el siguiente codigo:

thisform.lcnumcur = "C_"+sys(2015) este cursor yo lo creo en el INIT del formulario..

lcCommando = "INSERT INTO tabla (campo1, campo2, campo3) values (1,"JUAN PABLO ","GONZALEZ")"

SQLSXEC(NHAN, lcCommando,thisform.lcnumcur)

Hasta ahi me funciona perfectamente para insertar los datos en SQLSERVER, pero....

Cómo puedo insertar los datos en un Grid que tengo en el Formulaio...??????

Si pueden ayudarme por favor se lo agradeceria..

Agradece siempre su gentileza,
Juan Pablo Gonzalez
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:Insertar datos en un Gris

Publicado por JorgeE (423 intervenciones) el 15/11/2007 18:05:35
Hola,
Supongo que lees los datos desde SQL por lo tanto trabajas con ADO, RecordSet.
lo que harias es hacer la sentencia que te crearia los datos es decir el SELECT
Creas un cursor el cual utilizarias en el recordSource de tu grid
y mediante un ciclo SCAN-ENDSCAN, leerias tu recordset y lo grabas en el cursor que previamente creaste con CREATE CURSOR.

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

RE:Insertar datos en un Gris

Publicado por Juan Pablo (94 intervenciones) el 15/11/2007 20:46:17
Saludos ;

Si pero lo que necesito es una muestra de lo que me envias o algun codigo, para tener una idea mucho mejor.

Agradece su gentileza,
JP.
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:Insertar datos en un Gris

Publicado por Plinio (7841 intervenciones) el 16/11/2007 02:45:42
Tienes en Thisform.lcNumcur el nombre del cursor donde sql server tiene los datos. Te recomiendo lo siguiente.
1- Para que el grid siempre tenga un valor crea un cursor para el solo, lo llamaremos "cursor_grid"

2- Cuando ejecutes el Sqlexec
local micursor
micursor= Thisform.lcNumcur

SELEC cursor_grid
DELETE ALL &&Asi lo limpiamos

selec &micursor
GO TOP
DO WHILE !EOF()
INSERT INTO cursor_grid (campo1,campo2) ;
value &micursor..campoX,&micursor..campoY)

selec &micursor

ENDDO
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

Nota

Publicado por Plinio (7841 intervenciones) el 16/11/2007 02:50:49
No es Gris, es Grid (Grilla en Spanish)
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:Nota

Publicado por Plinio (7841 intervenciones) el 16/11/2007 12:34:07
Me refiero a que no se llama GRIS sino GRID el objecto que sale con muchas rayitas donde se visualizan datos.
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
sin imagen de perfil

RE:Insertar datos en un Gris

Publicado por Ernesto Hernandez (4623 intervenciones) el 16/11/2007 02:59:45
CLOSE ALL
CREATE CURSOR Qtest (;
Address M,;
Invoice M,;
Id I)

INSERT INTO Qtest VALUES ('NOMBRE1','DIRECCION1',1)
INSERT INTO Qtest VALUES ('NOMBRE2','DIRECCION2',2)
INSERT INTO Qtest VALUES ('NOMBRE3','DIRECCION3',3)
INSERT INTO Qtest VALUES ('NOMBRE4','DIRECCION4',4)
INSERT INTO Qtest VALUES ('NOMBRE5','Lasku105',5)

loForm = CREATEOBJECT('Form') && Create a Form
WITH loForm
.Closable = .F.
.WIDTH = 580
.Height = 300
.AddObject('cmdTest','cmdBtn') && Add Command button
*.AddObject('pgf1','Pageframe')
*With .Pgf1
*.Width = 500
*.height = .parent.height
*.pageCount = 2
*.Visible = .T.
*.Activepage = 2
*WITH .page2
.AddObject('grdGrid','Grid') && Add Grid control
WITH .grdGrid
.Left = 5
.Top = 5
.Width = 490
.Height = 260
.Rowheight = 20
.Visible = .T. && Grid control visible
.enabled = .T.
.Deletecolumn(1)
.Deletecolumn(2)
.Addcolumn(1)
.Addcolumn(2)
WITH .Column1
.Name = 'Address'
.Width = 200
.ControlSource = 'Qtest.Address'
.Bound = .F.
.Addobject('edtAddress','grdeditbox')
.edtAddress.Controlsource = 'Qtest.Address'
.edtAddress.VISIBLE = .T.
.Bound = .T.
.Currentcontrol = 'edtAddress'
.Sparse = .F.
.Header1.Caption = 'Address'
ENDWITH
WITH .Column2
.Name = 'Invoice'
.Width = 200
.ControlSource = 'Qtest.Invoice'
.Addobject('edtInvoice','grdeditbox')
.edtInvoice.Visible = .T.
.Currentcontrol = 'edtInvoice'
.Sparse = .T.
.Header1.Caption = 'Inmvoice'
ENDWITH
ENDWITH
*ENDWITH
*ENDWITH
.cmdTest.Visible =.T. && "Quit" Command button visible
.SHOW && Display the form
LOCATE
.Refresh()
READ EVENTS && Start event processing
ENDWITH

DEFINE CLASS cmdBtn AS CommandButton
Caption = '\'
Cancel = .T.
Left = 505
Top = 5
Height = 25
Width = 70

PROCEDURE Click
CLEAR EVENTS
CLOSE ALL
ENDPROC
ENDDEFINE

DEFINE CLASS grdEditbox AS Editbox
Enabled = .T.
BorderStyle = 0
SelectOnEntry = .F.

PROCEDURE InterActiveChange
IF NOT This.parent.sparse
WAIT "Cursor moves to the beginnig of the line. Not good " + TRAN(This.Selstart) WINDOW NOWAIT
ELSE
WAIT "Cursor doesn't move. Good "+ TRAN(This.Selstart) WINDOW NOWAIT
ENDIF
Thisform.pgf1.Page1.Enabled = .F. && This line causes the trouble
ENDPROC
ENDDEFINE
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