簡體   English   中英

單擊dataGridView時出錯

[英]Error when clicked on dataGridView

當我點擊dataGridView時,它會拋出一個錯誤,指出“mscorlib.dll中發生了'System.ArgumentOutOfRangeException'類型的未處理異常

附加信息:指數超出范圍。 必須是非負的且小於集合的大小。“

這是代碼部分,我需要它,當點擊某一行時,寫入textBoxes中的所有參數,以便它可以很容易地更新

 private void dgvList_MouseClick(object sender, MouseEventArgs e)
        {
                tbName.Text = dgvList.SelectedRows[0].Cells[0].Value.ToString();
                tbSurname.Text = dgvList.SelectedRows[1].Cells[1].Value.ToString();
                tbMobile.Text = dgvList.SelectedRows[2].Cells[2].Value.ToString();
                tbEmail.Text = dgvList.SelectedRows[3].Cells[3].Value.ToString();
                cbCategory.Text = dgvList.SelectedRows[4].Cells[4].Value.ToString();
        }

您收到該錯誤導致您的gridview沒有5行或5列。 您的gridview有多少行/列? 請記住,數組索引從0開始。 確保您訪問的行號(或)列號確實存在。

此外,為什么你要同時訪問多行,如下所示。 這沒有意義,因為任何時候只會選擇1行。 ... 對?

dgvList.SelectedRows[0]
dgvList.SelectedRows[1]

它應該是可能的

 private void dgvList_MouseClick(object sender, MouseEventArgs e)
        {
                tbName.Text = dgvList.SelectedRows[0].Cells[0].Value.ToString();
                tbSurname.Text = dgvList.SelectedRows[0].Cells[1].Value.ToString();
                tbMobile.Text = dgvList.SelectedRows[0].Cells[2].Value.ToString();
                tbEmail.Text = dgvList.SelectedRows[0].Cells[3].Value.ToString();
                cbCategory.Text = dgvList.SelectedRows[0].Cells[4].Value.ToString();
        }

感謝@ stackuser83指出這一點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM