`

在分页状态下删除纪录的问题

阅读更多
在使用DataGrid分页的时候,正常情况下,绑定数据库列表纪录时会自动产生分页的效果,然而我发觉在删除纪录的时候总会发生"无效的 CurrentPageIndex 值。它必须大于等于 0 且小于 PageCount。"的异常,其实解决这个问题很简单,我们要做的就是在DataGrid1_DeleteCommand事件中判断CurrentPageIndex的值,并根据不同的结果来绑定DataGrid。

 //检索数据库的函数
  public DataSet GetZcbd()
  {
   try
   {
    DataSet ds=new DataSet();   
    string searchString="select id,yy,bj from zc";
    da=new OleDbDataAdapter(searchString,conn);
    da.Fill(ds,"yy");    
    return ds;
   }
   catch
   {
    return null;    
   }  
           
  }

 //绑定DataGrid   
private void BindGrid()
  {
   DataSet ds = new DataSet();
   ds = us.GetZcbd();
   if (ds!=null)
   {
    this.DataGrid1.DataSource = ds;
    this.DataGrid1.DataBind();
   }
   else
   {
    msg.Alert("加载数据错误!",Page);
   }
  }

//删除数据库纪录函数
  public string DeleteZcbd(int bdID)
  {

   int count = this.IfExiseZysx(bdID);//不必理会次句,默认count=1
   if (count <= 0) return "false";
   else
   {
    string sqlStr = "delete from zcwhere id="+bdID;
    OleDbCommand cmd = new OleDbCommand(sqlStr,conn);

    conn.Open();

    try
    {
     cmd.ExecuteNonQuery();
     return "true";
    }
    catch(Exception e)
    {
     return e.Message.ToString();
    }
    finally
    {
     conn.Close();
    }      
   }
  }

// DataGrid1_DeleteCommand事件修改函数  
private void DataGrid1_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
  {
   int bdID = int.Parse(DataGrid1.DataKeys[(int)e.Item.ItemIndex].ToString());
   string isDel = us.DeleteZcbd(bdID);
   int CurrentPage = 0;
   if (isDel == "true")
   {
    if(this.DataGrid1.CurrentPageIndex == this.DataGrid1.PageCount -1)
    {
   if (this.DataGrid1.CurrentPageIndex == 0)
    {
     this.DataGrid1.CurrentPageIndex = this.DataGrid1.PageCount -1;
    }
    else
    {
     if (this.DataGrid1.Items.Count % this.DataGrid1.PageSize == 1)
     {
      CurrentPage = 2;
     }
     else
     {
      CurrentPage = 1;
     }
     this.DataGrid1.CurrentPageIndex = this.DataGrid1.PageCount - CurrentPage;
    }
   }
    this.BindGrid();
   }
   else
   {
       msg.Alert("删除数据错误!",Page);
   }
 
  }
    注释:msg为一个类似WinForm的messagebox对话框,不必理会。可以使用label.Text代替

分享到:
评论

相关推荐

    dhtmlx-grid分页-示例,后台java调用

    客户 项目 状态 是否ZZ 审核 提交时间 提交人 编辑 删除&quot; ; mygrid setInitWidths &quot; 180 90 50 70 90 70 50 50&quot; ; mygrid setColAlign &quot;left left left center left left left left left&...

    基于分页管理存储(符合老师要求,你懂得!)

    基本分页的分配过程:由用户输入作业号和作业的大小(这里的大小是逻辑页面数),实现分配过程:空间充足,分配,修改状态矩阵的相应位置的值(值由0转变为1),并用专门的数据记录下该作业占用的物理块的块号,以备...

    Python 项目开发实战项目 - Python tornado 开发 BBS 论坛项目源码

    项目使用高性能异步服务器框架Tornado来实现,在单个Tornado实例下,4核Intel i7 cpu可以达到1000-3000 的QPS 功能模块: # 授权模块 * 登陆 * 注册 * 注销 * 验证码 # 问题模块 * 问题列表 * 问题分页 * 问题...

    基于tornado的BBS问答社区源码.rar

    * 问题分页 * 问题创建 * 问题上传图片 * 问题删除 * 问题详情 * 问题搜索 * 问题过滤 [最新,最热,未解决,已解决,我喜欢的] 答案模块: * 答案列表 * 答案创建 * 答案上传图片 * 答案删除 * 采纳答案(最多三...

    python程序设计-BBS问答社区程序(源码+使用说明)

    * 问题分页 * 问题创建 * 问题上传图片 * 问题删除 * 问题详情 * 问题搜索 * 问题过滤 [最新,最热,未解决,已解决,我喜欢的] # 答案模块 * 答案列表 * 答案创建 * 答案上传图片 * 答案删除 * 采纳答案(最多三次)...

    GridView使用集合

    一、表头表尾 1、自定义多行表头,列合并,行合并 2、删除表身指定列、行 3、固定表头,向下拉动滚动条时,表头固定不动 4、表脚行统计,总计、平均值 二、导入导出 ...根据主键多条记录删除,单条记录删除。

    我记录网站综合系统 v1.0.zip

    √图片区块在list列表下的分页问题:和评论分页冲突 √论坛下面在线列表:只显示当前在线前200 名,其余通过详情进入 √修改了根据url缓存问题,登录界面不受缓存影响 √页脚菜单排序 √代码部分多国语言化 √...

    java开发的oa管理系统源码

    Spring+SpringMVC+Activiti+mysql实现oa管理... 消息管理 登录记录 操作日志管理 请假申请 物资采购 报销申请 人员所属部门调动 发布招聘信息 问题发布 回复管理 流程管理 请假管理 采购管理 报销管理 销售管理 开发jav

    SqlPage 1.2.10.5 版本

    修正控件分页模式在图片分页模式下控件编辑状态出错问题 6.新添了控件自动添加前缀功能(Wensi) 7.新增分页跳转类型,两种:下拉列表框和文本框,系统默认为下拉列表框,(在实际开发中我们发现下拉列表框...

    iCMS内容管理系统 6.0.20.zip

    [A] 增加 CLI模式下错误提示[A] 增加 采集器远程发布模块[A] 增加 采集方案删除所有数据功能[A] 增加 查找当前文章所有图片功能[A] 增加 文章状态属性管理[A] 增加 默认文章模板中章节分页显示及样式[A] 增加 对模板...

    查立得33KB代码实现短网址(php+mysql) V2.0

    ... 功能: 用户端: ...添加/批量添加网址(后台可限定单次网址数量);...添加会判断网址协议/域名是否有解析/可...网址记录:删除,批量删除,修改网址状态等 网址导入:单条网址添加,批量导入[页面粘贴提交] 其他辅助:清空表

    基于SpringBoot的OA办公管理系统291511(附源码+数据库)

    9:00-17:00,有迟到和早退状态)考勤管理(按月管理,显示其中每天的出勤状态),可以查看自己权限之下的所有员工考勤情况(根据员工名字进行模糊查询,数据分页)。 (4)给下属员工发公告或者通知。(公告或者...

    ECShop V2.7.2 UTF-8 正式版.rar

    [修正] 修正选择货到付款方式,走到发货后,在订单状态搜索中,找不到该订单的问题 [修正] 修正删除已发货的发货单,未删除发货单号的问题 [修正] 修正后台商店分类中筛选属性改为“请选择”后出现无法保存的问题 ...

    python线上酒店预约管理系统

    商家查看累计订单数量 ...管理员管理酒店活动表,删除酒店活动表中的酒店数据并修改酒店活动申请表中的状态 管理员查看参与用户活动表,分页查看用户活动表 酒店获得活动点击统计,计算用户参与活动表

    ZYCH自由策划企业网站管理系统 v06 Build180808

    功能管理:订单管理、订单状态变更、留言管理/删除、在线QQ客服、上传附件管理,清理无用的图片。 功能管理:快捷插入、关键词加链、文章自动伪原创等 注入管理:查看网站注入记录,IP锁定、设置注入功能 采集管理:...

    KingCMS v6.1 正式版 SP2

    KingCMS拥有简单灵活的多级... 修复,产品模型下的状态属性管理操作无效  增加,登陆后台管理登陆界面的验证码项  修正,对评论和留言的内容进行过滤  增加,碎片增加删除功能  完善,留言功能增加回复管理

    骑士PHP人才系统 4.2.66.zip

    修正 完善简历送红包未开启状态下生成记录问题;修正 后台广告位管理分页问题;修正 后台随机红包列表筛选状态无效问题;修正 发布职位隐藏域显示问题;修正 后台添加、修改页面时“链接优化”字段保存无效;修正 ...

    KingCMS企业版(PHP) v6.1.1641 Sp2

    修复,产品模型下的状态属性管理操作无效 增加,登陆后台管理登陆界面的验证码项 修正,对评论和留言的内容进行过滤 增加,碎片增加删除功能 完善,留言功能增加回复管理 升级xheditor到1.1.10新版 增加,站点...

    StringGrid

    StringGrid的扩展控件, 在StringGrid的基础上增加了: 分别定义每列属性; 支持多层表头、表头斜线 单元格合并、拆分;... 支持在设计期间进行编辑,支持直接打印、预览,对于超宽部分能够自动分页。

    SpaceBuilder v3.1[免安装]源码

    12.解决IE下做更新删除操作时,列表不能显示最新数据问题,例如:空间管理标签页删除标签。 13.空间博客管理中批量删除返回页面错误 14.发布文章时,设置标题图不起作用 15.活动结束时,积分不增加 16.查看尚未处理...

Global site tag (gtag.js) - Google Analytics