zoukankan      html  css  js  c++  java
  • (转)无效的CurrentPageIndex 值。它必须大于等于0 且小于PageCount 解决方案

    第一种:
    
    当以某种条件来查询的时候 其中的结果是以一个结果为条件的datagrid分页 采用字查询到条件下加入如下代码:
    
                         
    
             
    [c-sharp] view plaincopyprint?
    
        protected void btn_Search_Click(object sender, EventArgs e)  
           {  
               if (this.TextBox1.Text == "")  
               {  
                   app_java.Create();  
                   app_java.MsgBox("提示:请输入您要查询的标题的关键字!");  
                   app_java.Dispose();  
                   TextBox1.Focus();  
               }  
               if (DGRUserList.CurrentPageIndex > 0)  
               {  
                   DGRUserList.CurrentPageIndex = 0;  
               }  
               string sql = "select * from tb_carproduct where cp_title like '%" + this.TextBox1.Text.Trim().ToString() + "%' and  cp_type='" + Request.QueryString.Get("id").ToString() + "'";  
               db.BindDataGridDs(sql, DGRUserList);  
           }  
    
            
    
    第二种:
    
    是在删除datagrid最后一条记录的时候出现在这种异常加入一下代码:
    
           当删除数据库中数据并在数据绑定之前,判断是否需要翻页,以纠正CurrentPageIndex的错误。
    实现:
            在DataGrid_Delete方法中,添加如下代码:      
            //正常删除数据库中的数据            
            //判断
            if( DataGrid1.Items.Count == 1 && DataGrid1.CurrentPageIndex > 0 )
            {
                    DataGrid1.CurrentPageIndex--;
            }       
            //重新绑定数据
            BindGrid();
    
    第三种:
    
        是在可能我们没有使用DataGrid内建的删除方式,可能通过CheckBox使得每次可以删除多条记录
    思路:
            其实思路差不多,只不过要获取一次一共删除多少记录,并保存于一个变量中,然后将DataGrid1.Items.Count和其比较,正如上面的“DataGrid1.Items.Count == 1”,这样就能判断是否需要翻页了。
    实现:
            //获取删除记录的总数
            int count = 0;
            foreach( DataGridItem item in DataGrid1.Items )
            {
                    if( item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem )
                    {
                            CheckBox ckbox = item.FindControl(“CheckBox1“ ) as CheckBox;//?????????????
                            if( ckbox != null && ckbox.Checked )
                                    ++ count;
                    }
            }
            //判断
            if( count == DataGrid1.Items.Count && DataGrid1.CurrentPageIndex > 0 )
            {
                    -- DataGrid1.CurrentPageIndex;
            }
            //重新绑定数据
            BindGrid();
    
  • 相关阅读:
    gThumb 3.1.2 发布,支持 WebP 图像
    航空例行天气预报解析 metaf2xml
    Baruwa 1.1.2 发布,邮件监控系统
    Bisect 1.3 发布,Caml 代码覆盖测试
    MoonScript 0.2.2 发布,基于 Lua 的脚本语言
    Varnish 入门
    快速增量备份程序 DeltaCopy
    恢复模糊的图像 SmartDeblur
    Cairo 1.12.8 发布,向量图形会图库
    iText 5.3.4 发布,Java 的 PDF 开发包
  • 原文地址:https://www.cnblogs.com/wangyt223/p/3447989.html
Copyright © 2011-2022 走看看