1

我得到 Must be nonnegative,index was out of range 错误,尽管所有单元格中都有数据并且索引也没有溢出

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();
        }
4

2 回答 2

1

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

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

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

于 2013-08-07T05:08:35.033 回答
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.
于 2013-08-07T05:49:18.917 回答