首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

急vb复选框有关问题,请

2012-02-10 
急急!vb复选框问题,请高手指点用access的数据库,库中有个表:goods表,表中的内容如下产品id产品类型产品名

急急!vb复选框问题,请高手指点
用access的数据库,库中有个表:goods表,表中的内容如下
      产品id         产品类型         产品名称       产品上市时间
      001                 保健品               123                     05/04
      002                 保健品               321                     05/04
      003                 保健品               313                     05/04
      004                 保健品               354                     05/04
      005                 食     品               3321                   05/04
      006                 食     品               3511                   05/04
      007                 日用品               565                     05/04
      008                 日用品               5465                   05/04
      009                 日用品               985                     05/04
      010               日用品               594                     06/04
      ...             .....                 ....                   .....这个表中的产品类型和产品名称都很多,我用一个frame控件,在这个控件里面动态设置复选框,每个复选框都指向一个产品类型,这样选择了后就在网格控件中显示出来,如:选择了保健品和食品,则在网格控件中就显示:
    产品id         产品类型         产品名称       产品上市时间
      001                 保健品               123                     05/04
      002                 保健品               321                     05/04
      003                 保健品               313                     05/04
      004                 保健品               354                     05/04


      005                 食     品               3321                   05/04
      006                 食     品               3511                   05/04
达到这个效果,而在frame控件定位复选框时我是定位每页显示75个,即5行5列显示,不够就推到下页,这些都是我的想法,但具体该怎么实现呢?请高手不吝指教,我现在不懂的是:1、复选框如何与数据库连接?2、根据数据库这个表的产品类型的数目该如何动态增加复选框?(因为数目是不定的,所以复选框也固定不了,随时会变)3、判断复选框的行列位置?4、复选框该如何在frame里定位,成为有序排列?5、选中后的选中数据该如何传到网格控件去显示呢?以上都是小弟不懂之处,请各高手不吝指点,小弟刚刚才接触复选框,固希望各位能帮帮小弟解决这个燃眉问题啊!!!不胜感激!!!

[解决办法]
首先确认一下复选框是什么控件,checkbox?

给你说一下动态添加控件吧,我们用checkbox (chk) 作为例子
1.在编辑状态下托一个chk到form里面
2.copy paste,建立一个chk数组,这就是控件数组了
3.动态添加
dim i as integer
i=chk.ubound+1
load chk(i)
chk(i).left=..
chk(i).top=..
chk(i).visible=true
这样就添加上去了


排列的位置的话自己写上去就好了,每行每列给一个间隔,做个循环就好


frame是个容器,里面的坐标是相对坐标。也就是相对frame本身的坐标,0,0就是其左上角

chk的click事件里面你可做一个query,然后把结果显示到你得grid控件

最后告诉你,别着急。都不难。

[解决办法]
都是很基础的东西,看书即可解决


//1、复选框如何与数据库连接?
这个就是构建sql连接字符串

//2、根据数据库这个表的产品类型的数目该如何动态增加复选框?(因为数目是不定的,所以复选框也固定不了,随时会变)
用load语句或controls.add


//3、判断复选框的行列位置?
这个你根据你的规则结合复选框的left、top进行简单的数学计算即可

//4、复选框该如何在frame里定位,成为有序排列?
设置其left、top属性即可

//5、选中后的选中数据该如何传到网格控件去显示呢?
将rs和网格控件绑定即可

不会数据库操作的话,用数据窗体向导生成一个窗体,看看代码即可


另外,建议你看看:提问的智慧
[解决办法]
frame本身没有滚动条

翻页可以用tab控件,tab控件用的时候注意位置

你也可以把chk都放在picturebox里面,picturebox的size需要根据ck的多少不断增大,然后把picturebox放在frame里面,然后自己添上滚动条,写一些代码就好。


[解决办法]
多个问题就开多个帖,一个问题解决了就结贴

另外你那上面的说的多个check的问题,我觉得不如用ListView来实现,listview可以将每个Item前面都带上一个checke box。而且还自动带有滚动条,最好的是不会占用很多资源。如果你动态添加checkbox,当产品数量太多时,系统就会非常慢。

热点排行