我正在嘗試創建一個 Winforms 應用程式,我將資訊存盤在資料庫中并使用 SQL 查看它們(datagridview)。我正在嘗試這樣做,以便我可以從選定的行中提取資料并能夠在以后修改它,但是我收到了一個錯誤。我可以在表中很好地查看來自 SQL 的資料,但是當嘗試從 SQL 表中獲取選定的行資料以顯示在文本框中時,出現以下例外:
System.ArgumentOutOfRangeException: '索引超出范圍。必須為非負數且小于集合的大小。Arg_ParamName_Name'
C# 代碼:
private void MemberSDGV_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
NomTb.Text = MemberSDGV.SelectedRows[0].Cells[3].Value.ToString();
PrenomTb.Text = MemberSDGV.SelectedRows[0].Cells[4].Value.ToString();
AgeTb.Text = MemberSDGV.SelectedRows[0].Cells[6].Value.ToString();
AddressTb.Text = MemberSDGV.SelectedRows[0].Cells[13].Value.ToString();
EmailTb.Text = MemberSDGV.SelectedRows[0].Cells[14].Value.ToString();
gsmpTb.Text = MemberSDGV.SelectedRows[0].Cells[9].Value.ToString();
gsmmTb.Text = MemberSDGV.SelectedRows[0].Cells[12].Value.ToString();
gsmTb.Text = MemberSDGV.SelectedRows[0].Cells[5].Value.ToString();
}
我在這里做錯了什么嗎?
uj5u.com熱心網友回復:
顯然沒有選定的行。
請改用 DataGridViewCellEventArgs 中的 RowIndex。
NomTb.Text = MemberSDGV.Rows[e.RowIndex].Cells[3].Value.ToString();
https://learn.microsoft.com/.../selected-cells-rows-and-columns-datagridview
uj5u.com熱心網友回復:
DGV 中的列標題也是單元格,因此單擊標題“行”會導致 RowIndex 為 -1。包括以下代碼以避免例外:
if (e.RowIndex < 0)
{
return;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/533968.html
標籤:C#数据库窗体
