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();
    
  • 相关阅读:
    java 多线程 Future callable
    nginx Access-Control-Allow-Origin css跨域
    maven 项目调试本地代码
    tomcat -ROOT 与webapps 的关系,关于部署的一些问题
    需求分析,挖掘背后的原因
    js 短信验证码 计时器
    总结一些小问题
    基于synchronized 或 ReadWriteLock实现 简单缓存机制
    java cookie 工具类
    309. 最佳买卖股票时机含冷冻期
  • 原文地址:https://www.cnblogs.com/wangyt223/p/3447989.html
Copyright © 2011-2022 走看看