使用GridView绑定了数据之后,设置allowpage=true之后,自动套用样式。下面的翻页按钮只有1 2 3 4 5 6等数字用于翻页,
如果想自己定义按钮,可用以下方法。
aspx文件
- <asp:DataGrid ID="DG" runat="server" AutoGenerateColumns="False"> //这里用的是datagrid 原理是一样的
- <Columns>
- <asp:BoundColumn DataField="USERCODE" HeaderText="登录帐户"></asp:BoundColumn>
- <asp:BoundColumn DataField="USERNAME" HeaderText="用户姓名"></asp:BoundColumn>
- <asp:BoundColumn HeaderText="所属部门" DataField="ORGNAME"></asp:BoundColumn>
- <asp:BoundColumn HeaderText="用户角色" DataField="ROLENAME"></asp:BoundColumn>
- <asp:BoundColumn HeaderText="使用状态" DataField="ISUSE"></asp:BoundColumn>
- <asp:ButtonColumn HeaderText="修改" Text="修改"></asp:ButtonColumn>
- <asp:ButtonColumn HeaderText="删除" Text="删除"></asp:ButtonColumn>
- </Columns>
- </asp:DataGrid>
- <asp:label id="l_CurrentPage" runat="server" oreColor="Red"></asp:label>
- <asp:label id="l_PageCount" runat="server"></asp:label>页
- <asp:LinkButton ID="First" runat="server" CommandArgument="first" OnClick="PagerButton_Click">首 页</asp:LinkButton>
- <asp:LinkButton ID="Prev" runat="server" CommandArgument="prev" OnClick="PagerButton_Click">上一页</asp:LinkButton>
- <asp:LinkButton ID="Next" runat="server" CommandArgument="next" OnClick="PagerButton_Click">下一页</asp:LinkButton >
- <asp:LinkButton ID="Last" runat="server" CommandArgument="last" OnClick="PagerButton_Click">尾 页</asp:LinkButton>
aspx.cs文件
- private int PageSize; //每页显示条目数量
- private int PageCount; //总页数
- private int CurrentPage;
- private int RecordCount; //总记录数
- protected void Page_Load(object sender, EventArgs e)
- {
- User user = new User();
Hashtable ht = new Hashtable();
DataTable dt = user.QueryUserView(ht);
RecordCount = dt.Rows.Count;//计算总记录数
PageSize = 8; //初始化每页条目数量
DG.AllowPaging = true;
DG.PagerStyle.Visible = false;
DG.PageSize = PageSize;
PageCount = (RecordCount % PageSize) > 0 ? (RecordCount / PageSize) + 1 : (RecordCount / PageSize); //计算总页数
this.l_PageCount.Text = PageCount.ToString();
if (!this.IsPostBack)
{
pageIndx = 1;
l_CurrentPage.Text = "1";
}
InitData(); - }
- /// <summary>
- /// 绑定DG
- /// </summary>
- private void InitData()
- {
- User user = new User();
- Hashtable ht = new Hashtable();
- DataTable dt = user.QueryUserView(ht);
- DG.DataSource = dt;
- DG.DataBind();
- DataBindUser();
- }
- /// <summary>
- /// 按钮的可见属性
- /// </summary>
- private void DataBindUser()
- {
- pageIndx = DG.CurrentPageIndex+1;
- l_CurrentPage.Text =pageIndx.ToString();
- if (pageIndx == 1)
- {
- this.lb_First.Enabled = false;
- this.lb_Prv.Enabled = false;
- this.lb_Next.Enabled = true;
- this.lb_Last.Enabled = true;
- }
- else if (pageIndx == PageCount)
- {
- this.lb_Next.Enabled = false;
- this.lb_Last.Enabled = false;
- this.lb_First.Enabled = true;
- this.lb_Prv.Enabled = true;
- }
- else
- {
- this.lb_Next.Enabled = true;
- this.lb_Last.Enabled = true;
- this.lb_First.Enabled = true;
- this.lb_Prv.Enabled = true;
- }
- }
- /// <summary>
- /// 翻页按钮的功能
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- protected void PagerButton_Click(object sender, EventArgs e)
- {
- int pageIndx = Convert.ToInt32(DG.CurrentPageIndex);
- string arg = ((LinkButton)sender).CommandArgument.ToString().ToLower();
- switch (arg)
- {
- case "prev":
- if (pageIndx > 0)
- {
- pageIndx -= 1;
- }
- break;
- case "next":
- if (pageIndx < PageCount - 1)
- {
- pageIndx += 1;
- }
- break;
- case "last":
- pageIndx = PageCount - 1;
- break;
- default:
- pageIndx = 0;
- break;
- }
- DG.CurrentPageIndex = pageIndx;
- InitData();
- }