2015-12-10 196 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

相關問題