FoxPro/Visual FoxPro - Problemas al Eliminar y Agregar datos al listbox

   
Vista:

Problemas al Eliminar y Agregar datos al listbox

Publicado por Robert (1 intervención) el 27/09/2014 16:11:11
Tengo problemas al eliminar y luego agregar un dato al listbox. Por ejemplo si agrego 3 datos consecutivos y luego elimino 1 me permite agregar uno mas, pero si agrego otro reemplaza al ultimo que agregue y no incrementa mas datos en el listbox. Estoy usando los siguientes códigos para AGREGAR y ELIMINAR. Por favor su apoyo.

AGREGAR DATOS AL LISTBOX "Procedimiento: LostFocus"
fila = 0
fila = thisform.list1.newIndex
fila=fila+1
thisform.list1.addlistitem(thisform.text6.text,fila,1)
thisform.list1.addlistitem(thisform.text7.text,fila,2)
thisform.list1.addlistitem(thisform.text8.text,fila,3)
thisform.list1.addlistitem(thisform.text9.text,fila,4)
thisform.list1.addlistitem(thisform.text10.text,fila,5)
thisform.list1.addlistitem(thisform.text11.text,fila,6)
thisform.list1.addlistitem(thisform.text12.text,fila,7)
thisform.list1.addlistitem(thisform.text13.text,fila,8)
thisform.list1.addlistitem(thisform.text14.text,fila,9)
THISFORM.list1.ColumnWidths=("35,45,245,32,35,31,37,50,45")
thisform.texto6.Value=fila

ELINAR DATOS DE LISTBOX "Procedimiento: DbClick"
thisform.list1.removelistitem(thisform.list1.listindex)
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

Problemas al Eliminar y Agregar datos al listbox

Publicado por Fidel José (558 intervenciones) el 27/09/2014 18:03:11
Pongo un ejemplo, que luego adaptarás a lo tuyo. Lo de Getwordnum() es sólo para facilitarme la tarea.
Aunque no esté documentado así, te recomiendo el uso de Requery. El REfresh se necesitaría si colocas un controlsource para el List. Por hábito siempre pongo ambos y en ese orden.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
*<CreaList>
lcList1="Fernando,Luis,Fidel,Victor,Gabriel"
lcList2="PFernando,PLuis,PFidel,PVictor,PGabriel"
lcList3="QFernando,QLuis,QFidel,QVictor,QGabriel"
lnItems=GETWORDCOUNT(lcList1,",")
 
WITH this.Parent.list1
	.clear
	.FontSize=8
	.ColumnCount=3
	.ColumnWidths="60,60,60"
	.rowsourcetype=0
	FOR i=1 TO lnItems
		.addListitem(GETWORDNUM(lcList1,i,","),i,1)
		.addlistitem(GETWORDNUM(lcList2,i,","),i,2)
		.Addlistitem(GETWORDNUM(lcList3,i,","),i,3)
	NEXT
 
	.requery
	.refresh
ENDWITH
*</CreaList>
 
*<DeleteListItem>
lnItem=this.Parent.list1.listitemId
IF lnItem#0
	WITH this.Parent.list1
		.RemoveListItem(lnItem)
		.requery
		.refresh
	ENDWITH
ENDIF
*</DeleteListItem>
 
*<AddListitem>
lcList1="Ramón,Jorge,David,Jaime,Ricardo"
lcList2="PRamón,PJorge,PDavid,PJaime,PRicardo"
lcList3="QRamón,QJorge,QDavid,QJaime,QRicardo"
lnItems=GETWORDCOUNT(lcList1,",")
lnItemId=This.Parent.list1.ListCount
 
WITH this.Parent.list1
	IF lnItemId=0
		.clear
		.FontSize=8
		.ColumnCount=3
		.ColumnWidths="60,60,60"
		.rowsourcetype=0
	ENDIF
 
	FOR i=1 TO lnItems
		.addListitem(GETWORDNUM(lcList1,i,","),i+lnItemId,1)
		.addlistitem(GETWORDNUM(lcList2,i,","),i+lnItemId,2)
		.Addlistitem(GETWORDNUM(lcList3,i,","),i+lnItemId,3)
	NEXT
 
	.requery
	.refresh
ENDWITH
*</AddListitem>
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