日期:2014-05-19  浏览次数:20451 次

gridview 和checkbox的问题
一个用户控件,用户控件有多个联动
一个gridview,
我是直接在page_load绑定gridview的,没有在!ispostback里面写,现在我有个批量删除的功能,每次点删除按钮时,都重新绑定,没有保持选中的状态,所以也删不掉,请问应该如何解决!

        protected   void   Page_Load(object   sender,   EventArgs   e)
        {

                BindSchedule();
                     
         
        }
删除按钮事件
        protected   void   Button3_Click(object   sender,   EventArgs   e)
        {
                MZS.BLL.ScheduleBLL   bll   =   new   MZS.BLL.ScheduleBLL();

                for   (int   i   =   0;   i   <   gvschedule.Rows.Count;   i++)
                {
                        CheckBox   cb   =   (CheckBox)gvschedule.Rows[i].FindControl( "CheckBox1 ");
                        if   (cb.Checked   ==   true)
                        {
                                int   id   =   Convert.ToInt16(gvschedule.DataKeys[i].Value);
                                bll.DeleteByScheduleId(id);

                        }
                }
                BindSchedule();
        }

------解决方案--------------------
droplistdown 也能保存状态的,难道你用了 html标签了?

笨方法就是你做一个viewstate变量来保存你选中的CheckBox ,每次 BindSchedule();的时候根据viewstate变量重新选中