| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3126 人关注过本帖
标题:关于列表框与spinner配合使用的问题
只看楼主 加入收藏
ibmlang_002
Rank: 5Rank: 5
来 自:浙江-嘉兴
等 级:贵宾
威 望:18
帖 子:437
专家分:176
注 册:2008-8-30
收藏
得分:0 
要不,list就不要了。就用grid也是可以的:在GRID中显示全部选项,默认数量0,选择相应的选项,回车或确定后刷新GRID。

VFP
2008-10-20 07:41
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
建议用Combo向Grid添加品种,然后在Grid中编辑数量。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2008-10-20 09:11
潇洒人间一剑仙
Rank: 2
等 级:论坛游民
威 望:1
帖 子:140
专家分:48
注 册:2008-9-19
收藏
得分:0 
[bo][un]ibmlang_002[/un] 在 2008-10-20 07:41 的发言:[/bo]

要不,list就不要了。就用grid也是可以的:在GRID中显示全部选项,默认数量0,选择相应的选项,回车或确定后刷新GRID。

grid不能复选
2008-10-20 12:25
潇洒人间一剑仙
Rank: 2
等 级:论坛游民
威 望:1
帖 子:140
专家分:48
注 册:2008-9-19
收藏
得分:0 
[bo][un]hu9jj[/un] 在 2008-10-20 09:11 的发言:[/bo]

建议用Combo向Grid添加品种,然后在Grid中编辑数量。

那倒是解决了空间的问题,不过操作就太不方便了.
首先combo不能复选,要多次点击下拉,操作量比复选大了一倍.
第二,清空grid的条件无法判断,还要手动进行清空操作.
2008-10-20 12:31
ibmlang_002
Rank: 5Rank: 5
来 自:浙江-嘉兴
等 级:贵宾
威 望:18
帖 子:437
专家分:176
注 册:2008-8-30
收藏
得分:0 
不用复选了吧。GRID显示list的全部数据。确认后只显示有数量的数据

VFP
2008-10-20 17:00
潇洒人间一剑仙
Rank: 2
等 级:论坛游民
威 望:1
帖 子:140
专家分:48
注 册:2008-9-19
收藏
得分:0 
那就是说还是要有list控件吧.
2008-10-20 18:00
潇洒人间一剑仙
Rank: 2
等 级:论坛游民
威 望:1
帖 子:140
专家分:48
注 册:2008-9-19
收藏
得分:0 
可能是我没说清楚,我的默认值是1而不是零.只改大于1的选项,如果spinner不行,只要文本框也可以,绝大多数录入数据是1,这样操作量最少.
如果说默认值可以为0的话,我就没必要只显示非零的数据了,直接运行程序计算就行了.
我现在正在试着用计算座标的方法让addobject("物品名","spinner")产生的控件出现在对应的list项旁边.但是在list的click事件里要先用type()来判断同名对象,然后将上一次的"物品名"对象release,这一步老是出现问题.我还没找到原因.如果不行,我把代码传上来,几位帮忙看看.
2008-10-20 18:11
潇洒人间一剑仙
Rank: 2
等 级:论坛游民
威 望:1
帖 子:140
专家分:48
注 册:2008-9-19
收藏
得分:0 
啊,我找到原因了,原来是要用removeobject而不是release,低级错误啊,呵呵.
接下来就是调座标了.胜利在望啊.
2008-10-20 18:18
潇洒人间一剑仙
Rank: 2
等 级:论坛游民
威 望:1
帖 子:140
专家分:48
注 册:2008-9-19
收藏
得分:0 
终于大功告成了!!!
真不容易啊,这个才是真正的带spinner的列表框.我苦思多日的成果啊.代码附上.
图片附件: 游客没有浏览图片的权限,请 登录注册

list的click事件:
FOR i=1 TO this.ListCount
objname=ALLTRIM(this.List(i))
IF TYPE("thisform.&objname.") = "O"
thisform.removeobject(objname)
endif
IF this.Selected(i)
thisform.AddObject(objname,"spinner")
itemsize=thisform.list1.fontsize+8
WITH thisform.&objname.
.visible=.t.
.top=i*itemsize+thisform.list1.top-17
.width=40
.height=itemsize
.left=thisform.list1.Left+thisform.list1.Width-100
.value=1
ENDwith
ENDIF
NEXT
thisform.refresh
因为每个spinner的name属性都和物品名一样,可以程序里自由地调用对应项的数量值.
2008-10-20 18:55
快速回复:关于列表框与spinner配合使用的问题
数据加载中...
 
   



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

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