none
combobox数据绑定时是否还能再赋值? RRS feed

  • 问题

  • 我对combobox实行了数据绑定。比如绑定了星期一到星期日。现在加入我做了一个课程表系统。现在我要根据查询到的结果对combobox的值重新设置。即thiscombobox.Text=value;然而,运行的时候并没有变化。仍然是绑定数据中的初始值。如果我把数据绑定去掉,把数据写入combobox的item属性中,就OK了。然而,这样赋值,却发现有时候好使,有时候还是没变化,不知道到底是为什么?当对combobox实行了数据绑定时,还能对他赋值吗?
    勿以恶小而为之,勿以善小而不为
    2009年7月1日 8:51

答案

  •          你可以继续使用数据源绑定,或者使用item添加选项。
    这个必须在前面执行,后面菜是设置选中项;
    方法很多:

                1.comboBox1.SelectedIndex;//如果你知道自己要设置选中的项目的位置,就可以使用这个属性设置;
                2.comboBox1.SelectedItem;//如果你知道自己的设置选中的项目 就可以直接设置Item;
                3.comboBox1.SelectedText;//如果你知道要设置显示出来的文本,可以直接设置文本;
                4.comboBox1.SelectedValue;//这个就是XXY提示的,你知道要设置选中的值,就可以使用这个方法。
    以上的情况你根据需要灵活使用~
    Frank.Xu Lei--谦卑若愚,好学若饥
    专注于.NET平台下分布式应用系统开发和企业应用系统集成
    Focus on Distributed Applications Development and EAI based on .NET
    老徐的博客:http://frank_xl.cnblogs.com
    • 已标记为答案 dut60 2009年7月3日 1:14
    2009年7月2日 4:55
    版主

全部回复

  • 通过 BindingSource 绑定 Combobox ,添加项,可以在数据源中直接添加数据,页面会自动刷新的
    知识改变命运,奋斗成就人生!
    2009年7月1日 9:13
    版主
  • 我不是要在数据源中添加数据。我是对它赋值!比如combobox是周一到周日。我现在选择了某节课是周三。然后我保存到了数据库。下次我查询某节课的时候,combobox会显示出这节课是在周几。也就是说,我先从数据库里读出了某节课是周几,然后把这个值赋值给combobox.Text.
    问题是,这样做好像不行。combobox没有变化。我现在不用数据绑定,而是把周一到周日通过item属性添加。我想问的是,如果使用了数据绑定,还能否直接对combobox赋值?
    勿以恶小而为之,勿以善小而不为
    2009年7月1日 11:20
  • combobox.SelectedValue = 'xxxx'
    知识改变命运,奋斗成就人生!
    2009年7月1日 11:58
    版主
  •          你可以继续使用数据源绑定,或者使用item添加选项。
    这个必须在前面执行,后面菜是设置选中项;
    方法很多:

                1.comboBox1.SelectedIndex;//如果你知道自己要设置选中的项目的位置,就可以使用这个属性设置;
                2.comboBox1.SelectedItem;//如果你知道自己的设置选中的项目 就可以直接设置Item;
                3.comboBox1.SelectedText;//如果你知道要设置显示出来的文本,可以直接设置文本;
                4.comboBox1.SelectedValue;//这个就是XXY提示的,你知道要设置选中的值,就可以使用这个方法。
    以上的情况你根据需要灵活使用~
    Frank.Xu Lei--谦卑若愚,好学若饥
    专注于.NET平台下分布式应用系统开发和企业应用系统集成
    Focus on Distributed Applications Development and EAI based on .NET
    老徐的博客:http://frank_xl.cnblogs.com
    • 已标记为答案 dut60 2009年7月3日 1:14
    2009年7月2日 4:55
    版主
  • 多谢啦。恩。但是我对SelectedItem和SelectedValue的区别不是很理解。我如果是数据绑定的形式,两个一般都没问题。如果是item添加项,则使用SelectedValue的话提示“未将对象引用设置到对象实例”,这时候换成SelectedItem就没问题了。请您说一下,他们两个到底有什么区别?
    勿以恶小而为之,勿以善小而不为
    2009年7月3日 1:20
  • 1.SelectedItem获取或设置Item。
    2.SelectedValue获取项目的值或设置数据值来设置项目;
      举例你就明白了:
    这个循环给comboBox1.Items添加项目:
                for (int i = 0; i < 10; i++)
                {
                    ListItem item = new ListItem("a"+i.ToString(),i.ToString());
                    comboBox1.Items.Add(item);
                }
              设置选中的方式区别就在这里:
    1.SelectedItem获取或设置Item。
                ListItem item = new ListItem("a3","3");//存在这个项目item。
                comboBox1.SelectedItem = item;
    2.SelectedValue获取项目的值或设置数据值来设置项目;
          comboBox1.SelectedValue = "6";//存在一个值为6的item.
    Frank.Xu Lei--谦卑若愚,好学若饥
    专注于.NET平台下分布式应用系统开发和企业应用系统集成
    Focus on Distributed Applications Development and EAI based on .NET
    老徐的博客:http://frank_xl.cnblogs.com
    2009年7月3日 12:44
    版主