关于combobox的问题,解决不了
ildp 2008-08-22 01:16:19 我的程序中使用了三个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。
不知道该怎么解决?