如何获得 ComboBox 当前选中的值?

一休宗纯 2010-07-26 05:18:10
是用数据绑定的,我用下列的方法,
DataRowView selectedItem = (DataRowView)comboBoxDept.SelectedItem;
object o = selectedItem.Row["id"];
string sDeptId = o.ToString();

能不能用更简单的办法实现?
...全文
58505 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
一休宗纯 2010-07-29
  • 打赏
  • 举报
回复
string sUserId = ((DataRowView)comboBoxUser.SelectedItem).Row["id"].ToString();

好象这样最正确!
一休宗纯 2010-07-29
  • 打赏
  • 举报
回复
comboBoxDept.Items[comboBoxDept.SelectedIndex]
将会是
"DataRowView"

因此也是不正确的.

string sUserId = ((DataRowView)comboBoxUser.SelectedValue).Row["id"].ToString();

这样才正确.
ldycsd 2010-07-27
  • 打赏
  • 举报
回复
当然会有问题了,comboBoxDept.SelectedValue.是object ListControl.SelectedValue这样的List类型的,强制转换成字符串当然会出错。
还是用我发的方法1吧:comboBoxDept.Items[comboBoxDept.SelectedIndex].ToString();//方法1
一休宗纯 2010-07-26
  • 打赏
  • 举报
回复
comboBoxDept.SelectedValue.ToString(); 有时不正确,我也不明白为什么
一休宗纯 2010-07-26
  • 打赏
  • 举报
回复
你们都没有答对, 
我自己研究出来了
comboBoxDept.SelectedItem.ToString();
结果会是 "System.Data.DataRowView" 因此不正确

wuyq11 的回答就是重复我的提问差不多

我自己找到了更好的方法,就是 comboBoxDept.SelectedValue.ToString();
wuyq11 2010-07-26
  • 打赏
  • 举报
回复
DataRowView drv = (DataRowView)comboBox1.SelectedItem;
string Id = drv.Row["id"].ToString();

ldycsd 2010-07-26
  • 打赏
  • 举报
回复

string aaa = "";
//如果选中
if (comboBoxDept.SelectedIndex > -1)
{
aaa = comboBoxDept.Items[comboBoxDept.SelectedIndex].ToString();//方法1
aaa = comboBoxDept.SelectedItem.ToString();//方法2
}
MessageBox.Show(aaa);

如果有用的话。请给分。
mayonglong 2010-07-26
  • 打赏
  • 举报
回复

comboBoxDept.SelectedItem.ToString();
lishuai1030 2010-07-26
  • 打赏
  • 举报
回复
string stra=comBoxDept.selectedvalue 就是 选中的值啊

111,093

社区成员

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

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

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