private void BindGrid() { DGDebate.PageSize=2; openUserDB("select * from debate where IsAuditing=0 order by createTime","debate"); DataView dv=(DataView)ds.Tables["debate"].DefaultView; DGDebate.DataSource = dv; /****************************************************** 绑定前计算实际的页数,比较当前页数与实际页数,大则减小当前页*******************************************************/ int currentPageCount = dv.Table.Rows.Count%DGDebate.PageSize==0?dv.Table.Rows.Count/DGDebate.PageSize:(dv.Table.Rows.Count/DGDebate.PageSize+1); //这里使用while支持一次删除多页 while(DGDebate.CurrentPageIndex>currentPageCount-1) --DGDebate.CurrentPageIndex; DGDebate.DataBind(); ds.Tables["debate"].Clear(); ds.Tables["debate"].Dispose(); }
private void BindGrid() { DGDebate.PageSize=2; openUserDB("select * from debate where IsAuditing=0 order by createTime","debate"); DataView dv=(DataView)ds.Tables["debate"].DefaultView; DGDebate.DataSource = dv; if(dv.Count==0) DGDebate.CurrentPageIndex=1; else while(dv.Count<=DGDebate.PageSize*(DGDebate.CurrentPageIndex-1)) DGDebate.CurrentPageIndex --; DGDebate.DataBind(); ds.Tables["debate"].Clear(); ds.Tables["debate"].Dispose();
to sp1234 while(dv.Count<=DGDebate.PageSize*(DGDebate.CurrentPageIndex-1))这里DGDebate.CurrentPageIndex-1应该不用减1,CurrentPageIndex的序号是从0开始算的
if dg.currentPageIndex>dg.pageCount-1 then if dg.pageCount=0 then dg.currentPageIndex=0 else dg.currentPageIndex=dg.pageCount-1 end if end if dg.dataSource="dataSource" dg.dataBind()
create Proc Ajax declare @account char,@i int set @i=1 while @i<1000000 begin set @i=@i+1 insert into AjaxUser (UserID) values (@account) end不知道哪里出错了 老是说 在关键字 'declare' 附近有语法错误
每删除一条时
count++;
if(count == DataGrid1.Items.Count && DataGrid1.CurrentPageIndex > 0 )
{
-- DataGrid1.CurrentPageIndex;
}
//绑定DataGrid
DataGrid1Bind();
{
DGDebate.PageSize=2;
openUserDB("select * from debate where IsAuditing=0 order by createTime","debate");
DataView dv=(DataView)ds.Tables["debate"].DefaultView;
DGDebate.DataSource = dv;
DGDebate.DataBind();
ds.Tables["debate"].Clear();
ds.Tables["debate"].Dispose();
}
private void btnDel_Click(object sender, System.EventArgs e)
{
string strSQL="delete from debate where id=1";
OleDbCommand MyCommand = new OleDbCommand();
MyCommand.Connection=OpenDB();
MyCommand.CommandText=strSQL;
MyCommand.ExecuteNonQuery();
BindGrid();
}
DataGrid1.CurrentPageIndex=0,
回到第一页
2.
也可以判断当前删除的这条纪录是不是最后一页的最后一个记录
如果是,就让总页数-1,不是就等于总页数
{
if(dgShow.CurrentPageIndex!=0)
dgShow.CurrentPageIndex = dgShow.CurrentPageIndex-1;
}
string strSql = "delete from US";
ExecuteSql(strSql);
BindData();
{
if(dgShow.CurrentPageIndex!=0)
dgShow.CurrentPageIndex = dgShow.CurrentPageIndex-1;
}
string strSql = "delete from US";
ExecuteSql(strSql);
BindData();
{
DGDebate.PageSize=2;
openUserDB("select * from debate where IsAuditing=0 order by createTime","debate");
DataView dv=(DataView)ds.Tables["debate"].DefaultView;
DGDebate.DataSource = dv;
/******************************************************
绑定前计算实际的页数,比较当前页数与实际页数,大则减小当前页*******************************************************/
int currentPageCount = dv.Table.Rows.Count%DGDebate.PageSize==0?dv.Table.Rows.Count/DGDebate.PageSize:(dv.Table.Rows.Count/DGDebate.PageSize+1);
//这里使用while支持一次删除多页
while(DGDebate.CurrentPageIndex>currentPageCount-1)
--DGDebate.CurrentPageIndex;
DGDebate.DataBind();
ds.Tables["debate"].Clear();
ds.Tables["debate"].Dispose();
}
{
DGDebate.PageSize=2;
openUserDB("select * from debate where IsAuditing=0 order by createTime","debate");
DataView dv=(DataView)ds.Tables["debate"].DefaultView;
DGDebate.DataSource = dv;
if(dv.Count==0)
DGDebate.CurrentPageIndex=1;
else
while(dv.Count<=DGDebate.PageSize*(DGDebate.CurrentPageIndex-1))
DGDebate.CurrentPageIndex --;
DGDebate.DataBind();
ds.Tables["debate"].Clear();
ds.Tables["debate"].Dispose();
while(dv.Count<=DGDebate.PageSize*(DGDebate.CurrentPageIndex-1))这里DGDebate.CurrentPageIndex-1应该不用减1,CurrentPageIndex的序号是从0开始算的
if dg.currentPageIndex>dg.pageCount-1 then
if dg.pageCount=0 then
dg.currentPageIndex=0
else
dg.currentPageIndex=dg.pageCount-1
end if
end if
dg.dataSource="dataSource"
dg.dataBind()
declare @account char,@i int
set @i=1
while @i<1000000
begin
set @i=@i+1
insert into AjaxUser (UserID) values (@account)
end不知道哪里出错了
老是说
在关键字 'declare' 附近有语法错误