C# DataGridView 用法

来源:百度知道 编辑:UC知道 时间:2024/06/01 13:46:02
DataGridView1.SelectedRows[0].Cells["num"].Value.ToString();
这条句怎么搞的,应该没错的,我在其它的程序也用过类似的,程序都可以正常的运行,现在确行不通了,总报错说是超出索引范围。
前面有判断的语句: if(DataGridView1.SelectedRows.Count>0)

if (dataGridView1.SelectedRows.Count < 1)
{
MessageBox.Show("请至少选中一列!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
if (dataGridView1.SelectedRows.Count > 0)
{
int index;
index = Convert.ToInt32(dataGridView1.SelectedRows[0].Index);
ds.Tables["显示"].Rows[index].Delete();
//string ind = dataGridView1.SelectedCells[0].ToString();
// string ind = dataGridView1.SelectedRows[0].Cells["num"].Value.ToString();
string ind = dataGridView1.SelectedRows[0].Cells["序号"].Value.ToString();

DataGridView1.SelectedRows[0]
因为有可能一个行也没有选择.建议
if(DataGridView1.SelectedRows.Count > 0)
{
DataGridView1.SelectedRows[0]

}

我也碰到过这样的问题,基本上都是因为DataGridView中没有任何行被选中引起的。解决方法如楼上所说。

也许第 0 行根本就没有数据,最好是先把数据显示在 DataGridView 中看一下,检查有没有

这里有相关的文章。

最好的前面加个判断,判断所选行是否为空。