Inicio > Visual Fox Pro > Drag and Drop entre 2 Grids

Drag and Drop entre 2 Grids


 En este ejemplo se mostrar como poder realizar un Drag Drop entre 2 grid , acontunuaón el código ejemplo :

Creamos un formulario en blanco y  le agregamos 2 grids y 1 label.

LOAD FORMULARIO

SET SAFETY OFF
SET DELETED ON

* Se crean los 2 cursores temporales que iran con los grids

CREATE CURSOR crsTest1 (Fld1 I, FileName C(254))
FOR lnFor = 1 TO 20
 INSERT INTO crsTest1 VALUES (lnFor, [RICARDO ] + PADL(lnFor,3,’0′))
NEXT
GO TOP

CREATE CURSOR crsTest2 (Fld1 I, FileName C(254))
FOR lnFor = 1 TO 20
 INSERT INTO crsTest2 VALUES (lnFor, [ALFREDO ] + PADL(lnFor,3,’0′))
NEXT
GO TOP

INIT FORMULARIO

* Define valores del formulario
This.Top = 0
This.Left = 2
This.Height = 428
This.Width = 327

* Define los valores del Primer Grid
Thisform.Grid1.ColumnCount = 2
Thisform.Grid1.Height = 200
Thisform.Grid1.Left = 3
Thisform.Grid1.Panel = 1
Thisform.Grid1.Top = 10
Thisform.Grid1.Width = 320
Thisform.Grid1.Name = “Grid1”
Thisform.Grid1.Column1.Width = 172
Thisform.Grid1.Column1.Format = ‘K’
Thisform.Grid1.Column1.Name = “Column1”
Thisform.Grid1.Column2.Name = “Column2”

* Define los valores del Segundo Grid
Thisform.Grid2.ColumnCount = 2
Thisform.Grid2.OLEDropMode = 1
Thisform.Grid2.Height = 170
Thisform.Grid2.Left = 5
Thisform.Grid2.Panel = 1
Thisform.Grid2.Top = 253
Thisform.Grid2.Width = 320
Thisform.Grid2.Column1.Width = 118
Thisform.Grid2.Column1.Name = “Column1”
Thisform.Grid2.Column2.Width = 159
Thisform.Grid2.Column2.Name = “Column2”

* Label (Titulo de la aplicación)
Thisform.Label1.Caption  = “Drag Drop entre 2 Grids”
Thisform.Label1.Height = 17
Thisform.Label1.Left = 9
Thisform.Label1.Top = 229
Thisform.Label1.Width = 288

* Se relaciona los grid con los cursores temporales creados
Thisform.Grid1.RecordSource = [crsTest1]
Thisform.Grid2.RecordSource = [crsTest2]

Thisform.Grid1.Refresh()
Thisform.Grid2.Refresh()
Thisform.Grid1.Column1.Text1.OLEDragMode = 1
       
OLEDRAGDROP  – GRID2

LPARAMETERS oDataObject, nEffect, nButton, nShift, nXCoord, nYCoord
LOCAL i, cText, cNewStr
If oDataObject.Getformat(1)    &&CF_TEXT
 cText = ALLTRIM(oDataObject.GetData(1))
 m.nValor = VAL(cText)
 SELECT crsTest2
 INSERT INTO crsTest2 VALUES (m.nValor, [RICARDO ] + PADL(m.nValor,3,’0′))
 WAIT WINDOW [Se inserto el valor de : ( Grid1.Text1.Value = ] + cText + [)] NOWAIT
ENDIF
NODEFAULT

Bajar el ejemplo

Categorías:Visual Fox Pro
  1. Julio
    19 mayo 2011 a las 2:54 pm

    Hola, no puedo bajar el ejemplo, será que me lo podrían mandar por correo de favor?

    (dicafi@hotmail.com)

  2. Julio
    19 mayo 2011 a las 3:16 pm

    Por otro lado, lo hice yo en una forma nueva, pero no me funciona :S

    O cómo debo hacer el arrastre?

    ya intenté seleccionar el deletemark o el registro pero nada, no puedo mover registros de ningún grid, espero me puedas ayudar, muchas gracias.

    • 15 diciembre 2011 a las 12:39 pm

      Si aun lo necesitas escribeme y te paso un ejemplo en codigo

      Saludos
      Ricardo

  3. Julio
    19 mayo 2011 a las 3:40 pm

    :O:O:O:O:O:O:O:O:O:O:O:O:O:O:O:O:O:O:O:O Ya funcionó y funciona de huevooooooooooooooooos!!!!!

    Gracias!!!

  4. alfsysAlf
    3 noviembre 2011 a las 6:00 pm

    no puedo bajar el ejemplo

  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: