关于comboBox控件的SelectedValue属性

笑着宣泄悲伤 2021-05-20 04:11:33
本人小白,现在有一个comboBox

我可以类似这样写吗
if (comboBox.SelectedValue ="其他")
{
sql+='.....'
}
...全文
22464 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
笑着宣泄悲伤 2021-05-25
  • 打赏
  • 举报
回复
引用 13 楼 morliz子轩 的回复:
[quote=引用 10 楼 笑着宣泄悲伤 的回复:] 谢谢大佬。但是我不想绑定数据源。我现在是去Items集合里面把这些加进去的,那我该怎么写呢 comBobox1.selectedItem.Tostring()="其他";这样写吗
你写了一个Items集合,那也是泛型实体啊。 如果键名是Text字段,键值是Value字段。 使用comboBox1.SelectedText获取所选项的值,而comboBox1.SelectedValue获取所选项的键。 也就是说可以这样写:

//demo1:
if (comboBox1.SelectedText == "列表中选项名")

//demo2:
if(comboBox1.SelectedValue == 7)
//这个就是选项的索引值,第一个选项从0开始计数,7也就是你写的“其他”
[/quote] 感谢大佬指教。已经搞定了。
爱喝茶的助手 2021-05-24
  • 打赏
  • 举报
回复
引用 10 楼 笑着宣泄悲伤 的回复:
[quote=引用 8 楼 morliz子轩 的回复:]你可以考虑这种设计方式: 1、在DB中建立一种类型关系。 比如:工序类型 索引值->键名 0->前处理 1->找线 …… 在对ComboBox绑定的时候,只需要获取这个Table实体,进行绑定即可DEMO:

//加载数据源
combobox.DataSource = dtSource;
//默认映射值
combobox.ValueMember = valueMember;
//默认显示名
combobox.DisplayMember = displayMember;

在获取和判断的时候呢,直接获取Index索引值,就是实体表中的id。 用它进行条件判断逻辑上的处理,加以实现需求,将事半功倍。 如果有新的类型增加,进行对数据表进行行insert就可以了,不需要调整UI上的逻辑。 --------------------------------------------------------------------------------------------------------- 当然,如果不涉及到数据库层,只是一个两层架构,那写一个工艺类型的泛型实体。以此做为数据源进行绑定,也是非常简单的。
谢谢大佬。但是我不想绑定数据源。我现在是去Items集合里面把这些加进去的,那我该怎么写呢 comBobox1.selectedItem.Tostring()="其他";这样写吗 [/quote] 直接.Text就OK
笑着宣泄悲伤 2021-05-24
  • 打赏
  • 举报
回复
引用 8 楼 morliz子轩 的回复:
你可以考虑这种设计方式: 1、在DB中建立一种类型关系。 比如:工序类型 索引值->键名 0->前处理 1->找线 …… 在对ComboBox绑定的时候,只需要获取这个Table实体,进行绑定即可DEMO:

//加载数据源
combobox.DataSource = dtSource;
//默认映射值
combobox.ValueMember = valueMember;
//默认显示名
combobox.DisplayMember = displayMember;

在获取和判断的时候呢,直接获取Index索引值,就是实体表中的id。 用它进行条件判断逻辑上的处理,加以实现需求,将事半功倍。 如果有新的类型增加,进行对数据表进行行insert就可以了,不需要调整UI上的逻辑。 --------------------------------------------------------------------------------------------------------- 当然,如果不涉及到数据库层,只是一个两层架构,那写一个工艺类型的泛型实体。以此做为数据源进行绑定,也是非常简单的。
谢谢大佬。但是我不想绑定数据源。我现在是去Items集合里面把这些加进去的,那我该怎么写呢 comBobox1.selectedItem.Tostring()="其他";这样写吗
morliz子轩 2021-05-24
  • 打赏
  • 举报
回复
引用 10 楼 笑着宣泄悲伤 的回复:
谢谢大佬。但是我不想绑定数据源。我现在是去Items集合里面把这些加进去的,那我该怎么写呢 comBobox1.selectedItem.Tostring()="其他";这样写吗
你写了一个Items集合,那也是泛型实体啊。 如果键名是Text字段,键值是Value字段。 使用comboBox1.SelectedText获取所选项的值,而comboBox1.SelectedValue获取所选项的键。 也就是说可以这样写:

//demo1:
if (comboBox1.SelectedText == "列表中选项名")

//demo2:
if(comboBox1.SelectedValue == 7)
//这个就是选项的索引值,第一个选项从0开始计数,7也就是你写的“其他”
90e家 2021-05-24
  • 打赏
  • 举报
回复
引用 7 楼 笑着宣泄悲伤 的回复:
[quote=引用 5 楼 90e家 的回复:]不用这么写,一般combox绑定的东西,会对应你sql里面的一个字段,要看你存储的是文字,还是存储的其他的值,比如说前处理对应的是1,数据库存储的是1的话, sql+=where 工序==1 这样就行了,不用if判断的,如果是其他值,就where 工序==2 就成了,基础不行,多看看基础视频
我下拉框里的东西都是SQL表里的某个字段里面的东西。也就是我只要绑定一下那个字段就行了咯[/quote] 那就很简单啊,如果存的是文字的话,直接where 工序==combox.text 也是可以的,哪里需要判断呢
luj_1768 2021-05-24
  • 打赏
  • 举报
回复
就是说,原有代码上漏了个‘其他’选项,现在你接手后不知道怎么加进去?简单地说,很可能加不进去。软件使用几年后,有些地方很难改动,特别是使用const 限定的数据。
morliz子轩 2021-05-22
  • 打赏
  • 举报
回复
你可以考虑这种设计方式: 1、在DB中建立一种类型关系。 比如:工序类型 索引值->键名 0->前处理 1->找线 …… 在对ComboBox绑定的时候,只需要获取这个Table实体,进行绑定即可DEMO:

//加载数据源
combobox.DataSource = dtSource;
//默认映射值
combobox.ValueMember = valueMember;
//默认显示名
combobox.DisplayMember = displayMember;

在获取和判断的时候呢,直接获取Index索引值,就是实体表中的id。 用它进行条件判断逻辑上的处理,加以实现需求,将事半功倍。 如果有新的类型增加,进行对数据表进行行insert就可以了,不需要调整UI上的逻辑。 --------------------------------------------------------------------------------------------------------- 当然,如果不涉及到数据库层,只是一个两层架构,那写一个工艺类型的泛型实体。以此做为数据源进行绑定,也是非常简单的。
笑着宣泄悲伤 2021-05-22
  • 打赏
  • 举报
回复
引用 5 楼 90e家 的回复:
不用这么写,一般combox绑定的东西,会对应你sql里面的一个字段,要看你存储的是文字,还是存储的其他的值,比如说前处理对应的是1,数据库存储的是1的话, sql+=where 工序==1 这样就行了,不用if判断的,如果是其他值,就where 工序==2 就成了,基础不行,多看看基础视频
我下拉框里的东西都是SQL表里的某个字段里面的东西。也就是我只要绑定一下那个字段就行了咯
90e家 2021-05-21
  • 打赏
  • 举报
回复
不用这么写,一般combox绑定的东西,会对应你sql里面的一个字段,要看你存储的是文字,还是存储的其他的值,比如说前处理对应的是1,数据库存储的是1的话, sql+=where 工序==1 这样就行了,不用if判断的,如果是其他值,就where 工序==2 就成了,基础不行,多看看基础视频
HttpCookie 2021-05-21
  • 打赏
  • 举报
回复
学会数据源绑定(字典集合),我要分
牧歌ing 2021-05-20
  • 打赏
  • 举报
回复
= 是赋值 == 是比较 你应该用comboBox.SelectedValue.ToString()去比较另一个string
爱喝茶的助手 2021-05-20
  • 打赏
  • 举报
回复
这不得看你赋值的时候咋绑的么
石岩Maple 2021-05-20
  • 打赏
  • 举报
回复
可以,但最好不要这样,你在给cbo赋值的时候,Value是可以作为一个关键字存储在后面的,前面只是显示,所以如果你只前端字符串,直接用SelectText就行了
  • 打赏
  • 举报
回复
如果你的comboBox值设定是设计视图一个个填进去的,你后面这样写无可厚非 如果是绑定的数据源, 不建议这样写!

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧