11
20
29
#1楼 得分:40回复于:2012-08-27 16:49:26两个List控件的数据选取
*-----------------------
示例:
设表单上有List1和List2
List1的Init事件:
This.RowSourceType=1
This.RowSource="A,B,C,D,E,F,G,H,I,J"
This.DisabledItemBackColor=Rgb(255,200,200)
*This.DisabledItemForeColor=Rgb(0,0,0)
List1的DblClick事件:
Thisform.list2.AddListItem(This.ListItem(This.ListItemId),Thisform.list2.ListCount+1,1)
Thisform.list2.AddListItem(Transform(This.ListItemId),Thisform.list2.ListCount,2)
This.ListItem(This.ListItemId)="\"+This.ListItem(This.ListItemId)
List2的DblClick事件:
Thisform.list1.ListItem(Val(This.ListItem(This.ListItemId,2)))=This.ListItem(This.ListItemId)
This.RemoveListItem(This.ListItemId)
老师,你语言中"This.ListItem(This.ListItemId),Thisform.list2.ListCount+1,1)"的....+1,1是什么意思?怎么我LIST1中有两列双击后进LIST2的只有一列数据和自动产生的序号?第二列的数没进的?再有(Transform(This.ListItemId),Thisform.list2.ListCount,2)
中的2起什么作用?"\"有什么作用?我初学,问的问题很可笑请别见笑.
还有就是如果我选进LIST2表中有很多行纪录,我怎样将LIST2的这些内容添加进数据表?比如张三在LIST1所列的路段中的几个地方的商场中选进LIST2中四家商场,如何将这四家商场全添是张三的买入地点纪录数据表中?
------解决方案--------------------------------------------------------
Thisform.list2.AddListItem(This.ListItem(This.ListItemId),Thisform.list2.ListCount+1,1)
Thisform.list2.AddListItem:表示对 List2 添加数据项
This.ListItem(This.ListItemId):这是 AddListItem 的参数 1,表示用当前(List1)的当前行第1列的值添加到 List2 中。
Thisform.list2.ListCount+1:这是 AddListItem 的参数 2,表示新添加项的唯一 ID,我取未添加前的总数然后加1,如原来是8,新的ID就为8+1(9)
AddListItem 的参数 3 表示指定新数据项加入到控件的哪一列。默认值为 1