我在使用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();在查询过程中出现的则更好解决了,在函数中的头一行直接插入
... {
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的名称)
也就是把当前页直接换成了首页再执行查询条件,这就不会