为什么我得到的错误就像我必须非负?

时间:2013-08-07 05:05:09

标签: c# asp.net

我得到必须非负,索引超出范围错误,尽管所有单元格中都有数据并且索引也没有溢出

private void editToolStripMenuItem_Click(object sender, EventArgs e)
        {
            frmProfileMaster frm = new frmProfileMaster();
            frm.status = "Edit";
            frm.pid = Convert.ToInt32(gdvProfile.SelectedRows[0].Cells[0].Value);
            frm.Show();
        }

2 个答案:

答案 0 :(得分:1)

似乎没有可用的数据,或者在第0个索引处没有行。

因此,当您指向SelectedRows[0].Cells[0]时,由于它没有行,它会给您错误。

在quickwatch中查看您获得的值并相应地制作代码。

答案 1 :(得分:0)

这里你想要的是你的gridviews第一个单元格控件值。对。     你可以试试,

 //if your first cell control is label then
 Label lbl = (Label)gdvProfile.Rows[0].FindControl("lbl");
 frm.pid = Convert.ToInt32(lbl.Text);

 Same way you can check for all control.

Hope it helps.