标题:动态添加combobox控件及事件的问题
只看楼主
bonze_ca
Rank: 1
等 级:新手上路
帖 子:6
专家分:1
注 册:2012-12-13
结帖率:100%
已结贴  问题点数:10 回复次数:5 
动态添加combobox控件及事件的问题
在窗体上循环添加combobox控件,每次cboCXZD、cboCXTJ两个控件,其中cboCXZD数据源为ACCESS数据库t1的字段名,cboCXTJ为对应字段值的集合(通过查询语句Group By去重复的),问题:
1、如何实现cboCXTJ值Trim后为非空时,自动创建添加一组cboCXZD、cboCXTJ控件?
2、新建的一组cboCXZD、cboCXTJ控件,cboCXZD的Items中如何去掉之前所有的cboCXZD控件值?


先前没有描述清楚,造成误会^_^

1、表t1有品名、型号、数量、有效期,第一次添加一组cboCXZD、cboCXTJ控件,cboCXZD控件Items中有“品名、型号、数量、有效期”,当我在cboCXZD选择品名时,cboCXTJ控件Items就变成了品名对应的记录(Group By去重复后的);当我cboCXTJ的值发生改变且为空时,自动创建一组cboCXZD、cboCXTJ控件。
2、新建的一组cboCXZD、cboCXTJ控件,此时cboCXZD控件Items中有“型号、数量、有效期”,即字段名合集去之前出现的cboCXZD的值。


分不多,诚心求知,请赐教,拜谢!

以下是我的代码,只能创建第一次,不能实现事件
        private int i = 0;

        private void AddControl(int i)
        {
          ComboBox cboCXZD= new ComboBox();
          cboCXZD.Location = new System.Drawing.Point(271 * i + 9, 68);
          cboCXZD.Size = new System.Drawing.Size(79, 20);
          cboCXZD.Name = "cboCXZD" + i.ToString();
          this.Controls.Add(cboCXZD);
          ComboBox cboCXTJ = new ComboBox();
          cboCXTJ.Location = new System.Drawing.Point(271 * i + 93, 68);
          cboCXTJ.Size = new System.Drawing.Size(178, 20);
          cboCXTJ.Name = "cboCXTJ" + i.ToString();
          this.Controls.Add(cboCXTJ);
          cboCXTJ.SelectedValueChanged += new System.EventHandler(cboCXTJ_SelectedValueChanged);
          i++;
         }

        private void cboCXTJ_SelectedValueChanged(object sender, EventArgs e)
         {
             ComboBox cboTMP = (ComboBox)sender;
             if (cboTMP.SelectedText.Trim() != "")
             {
                 AddControl(i+1);
             }
         }

[ 本帖最后由 bonze_ca 于 2012-12-28 12:58 编辑 ]
搜索更多相关主题的帖子: 数据源 有效期 动态 
2012-12-27 17:08
mpi
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:99
专家分:872
注 册:2012-11-14
得分:7 
没看明白你到底想干嘛...
如果你t1表里有1000条数据,你需要在界面上创建2000个控件同时并存是不是这个意思?

厌烦自私贪婪和不劳而获的人。
厌烦代码各种求,而不思进取的人。
本人也是菜鸟,求上进,踏实不浮躁的朋友共同进步。
2012-12-28 08:47
bonze_ca
Rank: 1
等 级:新手上路
帖 子:6
专家分:1
注 册:2012-12-13
得分:0 
以下是引用mpi在2012-12-28 08:47:20的发言:

没看明白你到底想干嘛...
如果你t1表里有1000条数据,你需要在界面上创建2000个控件同时并存是不是这个意思?

是字段(就是列名),不是记录,就是想做个随意组合的多条件查询,类似一个检索
2012-12-28 12:33
mpi
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:99
专家分:872
注 册:2012-11-14
得分:0 
以下是引用bonze_ca在2012-12-28 12:33:16的发言:

 
是字段(就是列名),不是记录,就是想做个随意组合的多条件查询,类似一个检索
检索为何要创建控件?界面上放两个控件,把T1列绑定到控件1,通过控件1的SelectedIndexChanged触发,将选择项作为参数,检索结果重新绑定控件2就行了。

厌烦自私贪婪和不劳而获的人。
厌烦代码各种求,而不思进取的人。
本人也是菜鸟,求上进,踏实不浮躁的朋友共同进步。
2012-12-28 13:08
bonze_ca
Rank: 1
等 级:新手上路
帖 子:6
专家分:1
注 册:2012-12-13
得分:0 
学术问题,不是单是功能的实现。
2012-12-28 15:19
bonze_ca
Rank: 1
等 级:新手上路
帖 子:6
专家分:1
注 册:2012-12-13
得分:0 
3天时间了没有答案
2012-12-29 15:25



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




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

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