我有这个组合框
BindingSource srd = new BindingSource();
srd.DataSource = llenar.Tables["cnae"];
CmbCnaePrin.DataSource = srd;
CmbCnaePrin.DisplayMember = "cnae_descricao";
CmbCnaePrin.ValueMember = "cnae_id";
我想加载这个
int cnaepr;
DataTable dt3 = new DataTable();
dt3 = ifd.cnaeclas(cnaepr);
txtCnaeC.Text = dt3.Rows[0][2].ToString();
txtCnaeSC.Text = dt3.Rows[0][3].ToString();
但我不能转换
cnaepr=Convert.ToInt32(CmbCnaePrin.SelectedValue)
返回此错误。无法将类型为“ System.Data.DataRowView”的对象转换为类型为“ System.IConvertible”的对象。
最佳答案
尝试在SelectedValue属性上调用ToString():
cnaepr=Convert.ToInt32(CmbCnaePrin.SelectedValue.ToString());
该错误几乎与它所说的完全一样。 SelectedValue属性的设计非常通用,因此可以是您在DataTable中可以找到的任何内容。其中大部分可能不是“可转换”类型(实现IConvertible)。
关于c# - 无法将Int转换为int fo组合,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13034467/