关于combobox的问题,解决不了

ildp ildp 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我的程序中使用了三个ComboBox,cmb1显示类别,cmb2显示部门,cmb3显示用户。代码如下:

private void cmb1_SelectedIndexChanged(object sender, EventArgs e)
{
string strCmd = "Select DepartmentID,Department from Departments where category=" + cmb1.SelectedText;
BindDepartmentList(strCmd);
}

private void BindDepartmentList(string strCmd)
{
using (SqlConnection con = new SqlConnection(strServerDB))
{
SqlDataAdapter adp = new SqlDataAdapter(strCmd, con);
DataSet ds = new DataSet();
adp.Fill(ds, "Departments");

cmb2.DataSource = ds.Tables["Departments"].DefaultView;
cmb2.DisplayMember = "Department";
cmb2.ValueMember = "DepartmentID";
cmb2.SelectedIndex = -1;
}
}

private void cmb2_SelectedValueChanged(object sender, EventArgs e)
{
if (cmb2.SelectedIndex != -1)
{
int iDepartmentID = Convert.ToInt32(cmb2.SelectedValue.ToString());

......
}
}



程序运行时,只要改变了cmb1的选择,就会出错。调试了一下,发现代码执行到
cmb2.DataSource = ds.Tables["Departments"].DefaultView;
时,触发cmb2_SelectedValueChanged事件,在该事件中运行了
int iDepartmentID = Convert.ToInt32(cmb2.SelectedValue.ToString());后提示“输入字符串的格式不正确”,检查cmb2.SelectedValue.ToString()表达式的值为System.Data.DataRowView。

不知道该怎么解决?
...全文

相关推荐

评论 18
收藏 已收藏
分享
返回顶部
ildp
C# 111,129 成员 642,539 内容