2015-12-10 213 views
-1

当我运行它,并选择在组合框中的值,我收到此错误:无法转换类型“System.String”的对象

Unable to cast object of type 'System.String' to type 'System.Data.DataRowView'.

这是我的代码:

private void cmbGroupname_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    var db = new LinqtosqlDataContext(); 
    var group = db.TblQuestions; 
    var q = db.SelectAllQuestionByGroupId(Convert.ToInt32(((DataRowView)cmbGroupname.SelectedItem)["GroupID"])); 
} 

我该如何解决?

+0

这是因为组合框的SelectedItem是一个字符串。显然,你不能将它转换成DataRowView。这里是你得到错误的地方:'(DataRowView)cmbGroupname.SelectedItem'。 – ataravati

回答

1

错误非常明显,您正尝试将cmbGroupname.SelectedItem字符串转换为DataRowView。如何:

var q = db.SelectAllQuestionByGroupId(Convert.ToInt32(cmbGroupname.SelectedValue)); 
+0

此代码是错误的。实际上,我想在combobox.my组合框中选择“GroupID”包含字符串值“GroupName”。 – Fardin

+0

使用下面的代码我已经收到组合框中的“GroupName”和“GroupID”,现在我只想选择“GroupID”。 – Fardin

+1

尝试选定的值 – Chet

相关问题