[bo][un]missbrat[/un] 在 2008-9-10 00:21 的发言:[/bo]
是这样的 我们做的是奶茶点单系统 我想实现的效果是表单左侧有一些command按钮,点击可以选择对应的饮料类别,选择之后在旁边的列表框显示那种饮料类别里的具体品种
我们只有一张表里边有奶茶类别 奶茶名称 价格等 ...
可以这样:
在表中录制分类字段、品种字段……每条记录都必须有分类、品种……
如果分类基本保持不变而且分类不多的情况下可以“表单左侧有一些command按钮”点击筛选“品种”得到其他数据
愚见,不如将“列表框”直接用表格显示,表格列可以隐弃“分类”,只显示品种和其他数据,每个命令按钮则根据分类筛选:
SET FILTER TO 分类=按钮值
但这样比较麻烦,每个命令按钮都必须有这语句,如果分类再多一些,整个表单都是按钮,也影响美观。不如再改进一步:用列表框代替命令按钮,且列表框可以隐藏,也就是平时看起来只有一张表格和很少的控制按钮(比如关闭表单)表格也可以是只读。
具体做法是:
1、建立一个(也可以用时再建)以分类为关键字的索引,但打开表不要打开索引
index on 分类 to 索引文件名 UNIQUE
&&唯一性索引
2、列表框放在表格的上层,最简单的办法是先建表格再建列表框,并将属性:列表框.visible=.F.
3、列表框.RowSourceType=6
&& 绑定字段
4、列表框.RowSource="分类" && 绑定的字段名
5、dblclick 事件代码:
set index to && 关闭索引文件
SET FILTER TO 分类=this.value
&& 或者绑定的变量名
this.visible=.F. && 双击之后再隐藏:
6、在表单的“rightclick”事件中的代码:
set index to 索引文件名
&& 如果没建立索引文件
thisform.列表框.visible=.T.
thisform.列表框.value=品种字段名
&& 该分类的第一行记录
thisform.列表框.setfocus
&& 设置焦点
7、假如你还有其他操作,比如删除记录、修改记录、添加记录,命令按钮就可以支派这些用场。