已有57人关注
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(); //更新数据

         }
分享到:
精彩评论 2
小科_mrkj
学分:43 LV2
2010-09-06
沙发
读者朋友:
    您好,数据都删除了,DataSet数据集中就没有tb_buy这个表了,所以就出现错误,你可以在方法里面判断一下,如果全删的话,直接把DataGridView的数据源设置为空。
wufayou
学分:0 LV1
TA的每日心情
第五天
2023-03-18 21:24:17
2010-09-06
板凳
我已搞明白了,用数组才可以。
首页上一页 1 下一页尾页 2 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照