读书人

下拉列表有关问题

发布时间: 2013-03-26 09:54:34 作者: rapoo

下拉列表问题
combobox组件的下拉列表,程序中存在多个下拉框,框中的内容因为有时要变动,所以不能设成固定的,要怎么才能省时省力
比如,
combobox1: combobox2: combobox3:
AA mm 天地
BB tt 日月
CC 星辰
DD
EE
FF

而且combobox1,2,3都是可以再加入列表项的,要怎么设,给个思路也行
[解决办法]

动态设置,常用的就是这样方法:

combobox1.Items.Clear; //清空项目
combobox1.Items.Add('张三'); //增加1项"张三"
combobox1.Items.Delete(0); //删除第1项
combobox1.Items.Delete(combobox1.Items.IndexOf('张三')); //删除指定项"张三"
combobox1.Items.Assign(combobox2.Items); //设置combobox1中项目与combobox2一样
combobox1.Items.AddStrings(combobox2.Items);//添加combobox2中所有项目到combobox1

[解决办法]
dbcombobox设置数据源
维护数据字典
[解决办法]
在输入完成(离开焦点或者回车确定之类的时候),判断一下输入的数据有没有存在,如果不存在,添加到combobox里面, 并保存,下次程序重新启动加载的时候,就会自动加载内容

if Combobox1.IndexOf('aa') = -1 then
Combobox1.Items.Add('aa');
[解决办法]
引用:
引用:
列表的值放到数据库或文件里,每次循环读入不就行了。要加时就往数据库或文件中写就行了

我想也是要把它放在数据库时,用时读出来,可现在是我有好多不一样的列表,这样的话我不是要建N多表了...有没有更好的办法,另软件是让局域网好多人用的,共享着用同一个数据库,所以直接用ITEMS.ADD是行不通的


只用一个表也可以实现的,通常叫词典表:
如:lsb 表结构如下
id 字段名 内容序号 内容
如:combobox1为“性别”
select * from lsb where 字段名='性别' order by 内容序号,再将所有记录添加进combox1.
combobox1为“民族”
select * from lsb where 字段名='民族' order by 内容序号,再将所有记录添加进combox2.

添加的过程就不解释了。




读书人网 >.NET

热点推荐