Manejo de Listas

Tengo un problema con el manejo de lista en vfp6.0
cuando tengo dos lista, lista1 y lista2 , si quiero pasar datos
de lista1 a lista2 por ejemplo codificar el evento dblclick de lista1 para que se inserte en lista2 cuando quiero hacer lo contrario o sea de lista2 a lista1 me pisa un valor de la lista1 no me lo agrega,
tengo en cuenta la cantidad de elementos que tiene cada lista para insertar en proxima posicion de la matriz.
Para las lista de una sola dimencion anda perfecto pero para las que tiene mas de una es el problema.
desde ya muchas gracias .
Respuesta
1
Te puedo ayudar, pero mandame la porcion del código que se te truena, para revisarlo y resolverlo lo antes posible.
xn=This.Parent.chqselected.listcount
FOR xcnt= 1 to this.parent.chqcartera.columncount
THIS.Parent.chqSelected.addlistitem(this.parent.chqcartera.listitem (this.parent.chqcartera.listindex,xcnt),xn,xcnt)
ENDFOR
chqselected=es la lista destino
chqcartera=la lista donde origen
*por parte de chqselected tengo el mismo codigo cambiando en nombre de la lista donde quiero insertar, lo inverso.
*espero respuesta por favor desde ya te agradezco tu molestia.
xn=This.Parent.chqselected.listcount
FOR xcnt= 1 to this.parent.chqcartera.columncount
THIS.Parent.chqSelected.addlistitem(this.parent.chqcartera.listitem (this.parent.chqcartera.listindex,xcnt),xn,xcnt)
ENDFOR
This.RemoveItem(This.parent.chqcartera.ListIndex)
chqselected=es la lista destino
chqcartera=la lista donde origen
*por parte de chqselected tengo el mismo codigo cambiando en nombre de la lista donde quiero insertar, lo inverso.
*espero respuesta por favor desde ya te agradezco tu molestia.
Perdon por el retraso
esta fue mi solución, un poco ebredada pero funciona
para la lista uno uso este código
xn= thisform.list2.listcount
FoR xcnt= 1 to thisform.list1.columncount
THISFORM.list2.addlistitem(thisform.list1.list(thisform.list1.listindex,xcnt),xn+1,xcnt)
endfor
Thisform.list1.RemoveItem(Thisform.list1.ListIndex)
for xcnt = 1 to Thisform.list1.listcount
thisform.list1.selected(xcnt) = .f.
endfor
Thisform.List2.refresh
para la lista 2 uso este código
xn= thisform.list1.listcount+1
&&WAIT " xn = "+STR(XN)
if xn > 1 then
for xcnt = 1 to Thisform.list1.listcount
thisform.list1.selected(xcnt)=.f.
endfor
xn= thisform.list1.listcount
thisform.list1.selected(Thisform.list1.listcount)=.t.
FoR xcnt= 1 to thisform.list2.columncount
&&wait str(xn) window
THISFORM.list1.addlistitem(this.list(thisform.list2.listindex,xcnt),xn+2,xcnt)
endfor
ELSE
FoR xcnt= 1 to thisform.list2.columncount
&&wait str(xn) window
THISFORM. List1. Addlistitem(thisform. List2. List(thisform. List2. Listindex, xcnt), XN, xcnt)
Endfor
Endif
Thisform. List2. RemoveItem(Thisform. List2. Listindex)
Thisform. List1. Refresh
Puedes optimizarlo.
Si usas tabla de datos en lista uno deberas agregar indstrucciones
yo puse a ON el delete, despues para regresar de lista 2 un registro, el recall con ese registro

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas