关于使用datagrid出现的CurrentPageIndex 值.它必须大于等于 0 且小于 PageCount!的问题

 

 

我在使用datagrid中也是遇到了这种情况,在网上查询了很久之后,再经过自己理解编译后,总结如下:

下面是在删除中出现的情况的解决方法

private   void  dg1_DeleteCommand( object  source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
        
{
            
string dg1DelSQL = "delete from model where modid = "+e.Item.Cells[0].Text;//删除语句SQL
            conn.Open();
                                                               
//---------------------------------------下面就是解决方法--------------------------------------------------
                                                               
//dg1是我的datagrid的名称
            if((dg1.CurrentPageIndex==dg1.PageCount-1)&&(dg1.Items.Count==1))
            
{
                
if(dg1.CurrentPageIndex-1>1)
                
{
                    dg1.CurrentPageIndex 
--;
                }

                
else
                
{
                    dg1.CurrentPageIndex 
= 0;
                }

            }

            
//----------------------------------------------结束---------------------------------------------
            SqlCommand delcmd = new SqlCommand(dg1DelSQL,conn);
            delcmd.ExecuteNonQuery();
在查询过程中出现的则更好解决了,在函数中的头一行直接插入

 

dg1.CurrentPageIndex=0;(这里的dg1是我的datagrid的名称)

也就是把当前页直接换成了首页再执行查询条件,这就不会

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值