首页 新闻 会员 周边

两个下拉框的联动的逻辑问题,求大神解答

0
悬赏园豆:100 [已解决问题] 解决于 2013-11-25 11:35

首先,我数据库有一张表

然后有一个枚举

数据库里的字段GroupTye存的数字都是枚举的索引,比如0对应的是MainComputationGroup

现在设计界面有2个下拉框,一个为cboGroupCode,一个是cboGroupType

我想解决的是:

下拉cboGroupCode下拉框的时候,选中一个值,接着联动第二个下拉框cboGroupType,要在cboGroupType中显示出枚举的值,然后读取的值是枚举的索引,也就是比如我选中一个Code的值是1,cboGroupType显示的值是MainComputationGroup,然后我取到存进数据库的值是0

注:因为框架的原因,不能使用数据库语句查询,也就是用不了类似 select GroupType from..where GroupCode=‘’的语句进行查询,目前我把GroupCode的值都绑定到cboGroupCode控件了

LanJerry的主页 LanJerry | 初学一级 | 园豆:168
提问于:2013-11-21 11:50
< >
分享
最佳答案
0

是Web应用程序还是WinForm应用程序啊,

收获园豆:100
金同学 | 初学一级 |园豆:67 | 2013-11-24 14:43
其他回答(4)
0

你这是想更新指定GroupCode的GroupType吧?

幻天芒 | 园豆:37175 (高人七级) | 2013-11-21 13:04

对,两个值都是要存进数据库的

支持(0) 反对(0) LanJerry | 园豆:168 (初学一级) | 2013-11-21 13:32

@LanJerry: 这个不需要联动吧,第二个下拉框是固定的选项,直接存储就行了呢。

支持(0) 反对(0) 幻天芒 | 园豆:37175 (高人七级) | 2013-11-21 17:00

@幻天芒: 不是这样的,是下拉框一个Code,另一个下拉框就自动赋值Code对应的Type

支持(0) 反对(0) LanJerry | 园豆:168 (初学一级) | 2013-11-22 08:16

@LanJerry:$('第二个select').val('选择的value'): 

支持(0) 反对(0) 幻天芒 | 园豆:37175 (高人七级) | 2013-11-22 09:45
0

没看太明白什么问题

用枚举项tostring()可以得到名子

通过attribute 选项description还能得到你写在枚举里的说明性的描述

Albert Fei | 园豆:2102 (老鸟四级) | 2013-11-21 13:47

可以得到名字,但是存进数据库的是要存它的索引。。

支持(0) 反对(0) LanJerry | 园豆:168 (初学一级) | 2013-11-21 14:20
0

在第一个下拉框Change事件中进行处理呀,判断第二个值是什么,选中这一项就行了么.在事件中想干嘛都行呀

平常心队长 | 园豆:1113 (小虾三级) | 2013-11-22 09:16
0
           cboGroupType.DataSource = this.computationGroupEntityBindingSource;
             cboGroupType.ValueMember = "GroupType";
             cboGroupType.SelectedIndex = cboGroupCode.SelectedIndex;
             string value = cboGroupType.Value.ToString();
              if (value == "0")
             {
                 value = "MainComputationGroup";
             }
              if (value == "1")
             {
                 value = "AssistComputationGroup";
             }
              if (value == "2")
             {
                 value = "OrderComputationGroup";
             }
             foreach (var v in typeof(ComputationGroupTypeEnum).GetFields())
             {
                 if (v.FieldType.IsEnum == true)
                 {
                     if (v.Name == value)
                     {
                         cboGroupType.DataSource = null;
                         this.cboGroupType.Clear();
                         this.cboGroupType.Items.Add(v.GetValue(v), v.Name);
                     }
                 }
             }
LanJerry | 园豆:168 (初学一级) | 2013-11-25 11:34
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册