标题:请教VFP ListBox控件的一个冷门属性
只看楼主
eepcvfp
Rank: 2
等 级:论坛游民
帖 子:166
专家分:15
注 册:2013-8-12
结帖率:87.5%
已结贴  问题点数:20 回复次数:13 
请教VFP ListBox控件的一个冷门属性
以前一直没留意ListBox控件的Tag属性,帮助文档是这样说的:

Tag属性
存储任何你的程序需要的额外数据。设计和运行时可用。

我把问题简化为实现以下功能:
我想在ListBox控件里添加如下列表:
        张三
        李四
        张三
        王五
在列表里单击某个姓名,列出他的详细资料,由于可能同名同姓,所以数据库里有一个ID字段,作为一个人的唯一标识。
我想在AddItem姓名的同时,把这个人的ID存入列表的Tag属性,该怎么做呢?

我在使用TreeView控件时也是用的这个思路,把唯一标识存入每个列表的Tag属性里,简单方便。

但是把同样的思路用在ListBox控件上却不知其法,不知道是不是只有ListBox控件才有Tag属性,也就是Listbox.tag
每个列表有没有自己的Tag?

请各位高手指教,或者有其他替代的方案。
谢谢!!
搜索更多相关主题的帖子: 详细资料 数据库 姓名 
2015-08-13 17:40
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:396
帖 子:11713
专家分:43267
注 册:2006-5-13
得分:10 
可以将列表框设置成两列数据,即ID+姓名,选择了姓名,很容易就获得对应的ID。如果嫌ID直接显示出来不妥,可以将ID对应的列宽设置为1。

活到老,学到老! http://www. E-mail:hu-jj@
2015-08-13 19:23
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:5 
Tag和Comment属性很多控件和对象都有,VFP自己不用,留给用户使用。
2015-08-13 19:29
eepcvfp
Rank: 2
等 级:论坛游民
帖 子:166
专家分:15
注 册:2013-8-12
得分:0 
谢谢 hu9jj 版主出手,您提供的方案也不失为一种很好的代替方案

您对Tag属性有什么看法?VFP提供这个属性的初衷是什么呢?还望指点迷津。
2015-08-13 19:30
eepcvfp
Rank: 2
等 级:论坛游民
帖 子:166
专家分:15
注 册:2013-8-12
得分:0 
感谢两位版主,如题所述,ListBox控件的每个列表项都有TAG属性吗?还是只有ListBox.Tag

我以前用TreeView控件,发现他每个列表项都有一个TAG属性。

[ 本帖最后由 eepcvfp 于 2015-8-13 19:33 编辑 ]
2015-08-13 19:32
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:5 
不用把ID数据放在控件中的。把需要的数据组织在一个二维数组中,然后用这个数组给ListBox加项AddItem,根据ListIndex在数组中提取ID即可。

授人以渔,不授人以鱼。
2015-08-13 19:44
eepcvfp
Rank: 2
等 级:论坛游民
帖 子:166
专家分:15
注 册:2013-8-12
得分:0 
谢谢三位版主,感谢你们依然坚守在这里为我等菜鸟指点迷津。
2015-08-13 19:48
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
其实数据源不管是数组还是视图,ListIndex都可以算作是行号或记录序号,祗要搞清楚数据是如何提取到控件中的,就可以逆向查找。

授人以渔,不授人以鱼。
2015-08-13 20:05
星光悠蓝
Rank: 9Rank: 9Rank: 9
来 自:山水甲天下
等 级:贵宾
威 望:48
帖 子:459
专家分:1116
注 册:2010-1-11
得分:0 
把列表项设为多列,分别存姓名和ID,更直观。
2015-08-14 08:10
eepcvfp
Rank: 2
等 级:论坛游民
帖 子:166
专家分:15
注 册:2013-8-12
得分:0 
以下是引用星光悠蓝在2015-8-14 08:10:24的发言:

把列表项设为多列,分别存姓名和ID,更直观。



这的确也是一个方案。
2015-08-14 09:16



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-456342-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.146687 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved