2016-08-10 196 views
-2

我從Datagrid獲取價值,將其存儲到文本字段中,並通過提交按鈕將值轉儲到數據庫中,並且我再次調用同一張表以刷新該按鈕的用途。但是,我在這裏獲得例外...Datagrid,索引超出範圍

指數超出範圍。必須是非負值且小於 集合的大小。參數名稱:索引

我還有另外一個問題就是有產生額外的行。爲什麼它發生我無法承擔。如果我點擊額外的行,我的程序會顯示另一個異常。

無法將類型爲「MS.Internal.NamedObject」的對象轉換爲鍵入「System.Data.DataRowView」。

DataSet ds = new DataSet(); 
MySqlDataAdapter da = new MySqlDataAdapter(sql, con); 
da.Fill(ds); 
datagridAccepted.ItemsSource = ds.Tables[0].DefaultView; 

DataRowView row = (DataRowView)datagridDocSchedule.SelectedItems[0]; 
textBoxId.Text = row["id"].ToString(); 
textBoxName.Text = row["name"].ToString(); 
textBoxSpecialistIn.Text = row["specialist_in"].ToString(); 

回答

1

這意味着你的ds.TablesdatagridDocSchedule.SelectedItems是空的。 調試你的代碼,看看哪一個是空的。