首页上一页 1 下一页尾页 2 条记录 1/1页
dataGridView中删除多行出错,能删除几行,但不能全删,请问这是什么原因呀?
发表在C#图书答疑
2010-09-06
是否精华
是
否
版块置顶:
是
否
错误提示为:索引超出范围。必须为非负值并小于集合大小。
参数名: index
代码如下:
private void 删除多行ToolStripMenuItem_Click(object sender, EventArgs e)
{
for (int j = 0; dataGridView1.SelectedRows.Count > j;j++ )
{
//判断用户是否选择一行数据,true为没选择,false为选择
if (dataGridView1.SelectedRows.Count==0)
{
MessageBox.Show("请选择行进行删除");
}
else
{
//判断用户是否点击确定按钮,true为点击,false为没有点击
if (MessageBox.Show("确认删除?", "提示", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
dataGridView1.Rows.Remove(dataGridView1.SelectedRows[j]);
DataSet ds = new DataSet();
ds = dbOp.getDataSet("delete from tb_buy where _autoNum='" + Convert.ToString(dataGridView1[0, dataGridView1.SelectedRows[j].Index].Value).Trim() + "'", "tb_buy");
}
}
}
UpdateDataGridView(); //更新数据
}
参数名: index
代码如下:
private void 删除多行ToolStripMenuItem_Click(object sender, EventArgs e)
{
for (int j = 0; dataGridView1.SelectedRows.Count > j;j++ )
{
//判断用户是否选择一行数据,true为没选择,false为选择
if (dataGridView1.SelectedRows.Count==0)
{
MessageBox.Show("请选择行进行删除");
}
else
{
//判断用户是否点击确定按钮,true为点击,false为没有点击
if (MessageBox.Show("确认删除?", "提示", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
dataGridView1.Rows.Remove(dataGridView1.SelectedRows[j]);
DataSet ds = new DataSet();
ds = dbOp.getDataSet("delete from tb_buy where _autoNum='" + Convert.ToString(dataGridView1[0, dataGridView1.SelectedRows[j].Index].Value).Trim() + "'", "tb_buy");
}
}
}
UpdateDataGridView(); //更新数据
}