(转)无效的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();
(转)无效的CurrentPageIndex 值。它必须大于等于0 且小于PageCount 解决方案的更多相关文章
- chrome 和IE 上传的文件,在net 后台取值Request.Form.Files[0].FileName 的不同
chrome 和IE 上传的文件,在net 后台取值Request.Form.Files[0].FileName 的不同 chrome 获得的是不含路径的纯文件名 IE获得的是含路径的文件名
- 【前端】input输入框只能输入大于等于0的正数
大于等于0的正数,允许小数 <input type="number" step="1" min="0" onkeyup="t ...
- JSON 序列化的时候忽略无效的属性值
例如我拥有以下代码. public class NewObject { public int? TestValue { get; set; } public int? Age { get; set; ...
- C#实现函数默认值和C#4.0实现默认值
static void Main(string[] args) { SayHello(); SayHello("侯志强"); Console.ReadKey(); } C#.0实现 ...
- 注册表键值明明存在OpenSubKey始终返回null,解决方案
先上代码及实例 RegistryKey rsg = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Macromedia\FlashPaper Pri ...
- moviepy音视频剪辑:使用rotate函数实现视频变换处理以及参数expand取值为True时的花屏问题解决方案
☞ ░ 前往老猿Python博文目录 ░ 一.rotate函数功能介绍 moviepy的rotate函数用于将剪辑逆时针旋转指定的角度或弧度. 调用语法:rotate(clip, angle, uni ...
- 使用mysql查询语句统计数据,如果是null值则赋值为0
select IFNULL(sum(total_view),0) from 如果统计total_view这列为null ,则返回默认值0
- js 数组排序要注意的问题,返回的值最好为 -1, 0, 1之间的值
var test10Elements = [7, 6, 5, 4, 3, 2, 1, 0, 8, 9]; var comparefn = function (x, y) { return x - y; ...
- 数组中的数分为两组,让给出一个算法,使得两个组的和的差的绝对值最小,数组中的数的取值范围是0<x<100,元素个数也是大于0, 小于100 。
比如a[]={2,4,5,6,7},得出的两组数{2,4,6}和{5,7},abs(sum(a1)-sum(a2))=0: 比如{2,5,6,10},abs(sum(2,10)-sum(5,6))=1 ...
随机推荐
- ArcGIS(ESRI)的发展历史和版本历史(简介)
作者:fenghuayoushi 来源:CSDN 原文:https://blog.csdn.net/fenghuayoushi/article/details/6677360 ESRI公司介绍 ...
- c#二维码资料
几个主要的C#二维码开发资料,用于学生的本科毕业论文参考 https://blog.csdn.net/xwnxwn/article/details/72636417 C# ZXing.Net生成二维码 ...
- ADO.Net 数据库查询
数据库中的表: VS查询代码: using System; using System.Collections.Generic; using System.Linq; using System.Text ...
- SQL Server和MySQL数据库
导读:接下来的网上商城的项目,需要用到MySQL数据库了.这个对于我来说,是一个新接触的东西,按照惯例,在刚开始学习一个东西的时候,先从宏观上去了解它.本篇博客,先介绍SQL Server的基本内容, ...
- openlayers/// Puppeteer.js
1.定位;https://viglino.github.io/ol3-ext/examples/map.interaction.geolocationdraw.html 2 .添加Overlay d ...
- centos6安装自带php
一.Centos 6安装自带PHP CentOS 默认仓库中包含了php套件,我们可以直接使用yum安装.下面是最小化安装,我们使用php-fpm来解析php. yum install -y php- ...
- pip安装插件库
升级:python -m pip install --upgrade pip 读excel:pip install xlrd 写入excel:pip install xlwt
- 使用synchronized wait() notifyall() 实现简单的加减法同步 竞争抢答
import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.co ...
- 十 suprocess模块
1 import subprocess 2 3 ''' 4 sh-3.2# ls /Users/egon/Desktop |grep txt$ 5 mysql.txt 6 tt.txt 7 事物.tx ...
- vue element upload上传、清除等
如果项目中可以使用file-list,那我们可以点击file-list删除文件列表: 有时候项目中是不要这个文件列表的,所以在上传成功以后,文件列表一直存在,要重新上传就必须刷新页面,所以我们需要手动 ...