//删除销售产品单
        protected void btn_shanchu_Click(object sender, EventArgs e)
        {                      if (GV_chanpinxiaoshou1.Rows.Count > 0)
            {
               
                for (int i = 0; i < GV_chanpinxiaoshou1.Rows.Count; i++)
                {
                    
                    CheckBox cbox = (CheckBox)GV_chanpinxiaoshou1.Rows[i].FindControl("CheckBox1");
                    if (cbox.Checked == true)
                    {
                        dt.Rows.RemoveAt(i);                        
                    }
                }
                GV_chanpinxiaoshou1.DataSource = dt;
                GV_chanpinxiaoshou1.DataBind();            }
        }      
dt是我绑定的datatable 
点击checkbox后实现删除
请帮我看看哪里有错误?谢谢~!

解决方案 »

  1.   

    如果你是删除的话,从后往前for (int i = GV_chanpinxiaoshou1.Rows.Count-1; i >=0; i--)
      

  2.   

    你得判断一下,你要操作行的rowType好像是这个属性是不是heard或者是foot如果是就提示一下。不是才能走下面的删除,在heard与foot中没有你要的数据肯定会出错。
      

  3.   

    +1
    如果从前面删除的话,行的索引变幻无常了dt.Rows.RemoveAt(i);   //只是移除gridview的数据GV_chanpinxiaoshou1.DataSource = dt;
      GV_chanpinxiaoshou1.DataBind(); //只是刷新,刷新结果是没有删除数据应真正操作数据库的数据,不是从一个显示数据的控件移除