本帖最后由 嗨陽 于 2013-1-5 10:44 编辑
问题说明:我用的是grid的数据库分页,点击下一页时,可以从第1页到第2页 再点时,就卡住了,不能从第2页到第3页,此时页面也无法操作了。我电脑是ie9 测试没有问题,对方电脑是ie8出现这个问题,在他电脑上用google内核浏览器没有问题。
补充说明:我刚又测试了 在ie8的正常模式下是正常的,在ie8的兼容模式就有问题。
部分代码:
static DataTable dt;//总记录table
static DataTable page_dt;//当前页table
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Init_Page();
……//部分代码没有贴出来
}
}
void Init_Page()
{
dt = C.GetTable(type, field, value);//这是一个从数据库中读取数据的方法
count = dt.Rows.Count;
Init_Grid();
}
private void Init_Grid()
{
gr_Main.RecordCount = count;
page_dt = GridDataTable.PageTable(dt, gr_Main.PageIndex, gr_Main.PageSize);
gr_Main.DataSource = page_dt;
gr_Main.DataBind();
}
//数据库分页 这个是写了一个公共的方法
public static DataTable PageTable(DataTable dt, int pageIndex, int pageSize)
{
DataTable dt1 = dt.Clone();
int rowbegin = pageIndex * pageSize;
int rowend = (pageIndex + 1) * pageSize;
if (rowend > dt.Rows.Count)
{
rowend = dt.Rows.Count;
}
for (int i = rowbegin; i < rowend; i++)
{
dt1.ImportRow(dt.Rows);
}
return dt1;
}
前台代码 :<ext:Grid ID="gr_Main" ShowHeader="False" runat="server" EnableCheckBoxSelect="true"
AllowSorting="true" PageSize="20" ShowBorder="true" AllowPaging="true"
IsDatabasePaging="true"
DataKeyNames="Id" AutoScroll="true">
不知道是不是我写的分页方法有问题,请各位朋友帮我看看,非常感谢!
|