昨天写程序有个小的知识点忘记写下了,今天补上~~
昨天做网站的时候,又一次用到了grieview。最近总是在反复的用这个控件,总感觉自己对这个控件不太感冒,所有接受起来有点吃力,所以决定把它的所有的用法都收藏起来。
gridview 分页 给每页的所有数据加上序号 如果换页,序号继续。倒如:每页10条,如果本次显示的是15条,则在第二页显示的是11-15
先把gridview控件的分页功能设置好
AllowPaging:true
PagingSize:10 这个可以按照自己的需求来设置
源代码:
<asp:GridView PagerSettings-Visible="false" ID="GridView1" runat="server" AutoGenerateColumns="False"
Height="16px" Width="625px" AllowPaging="True"
onpageindexchanging="GridView1_PageIndexChanging"
onrowdatabound="GridView1_RowDataBound">
<PagerSettings FirstPageText="首页" LastPageText="尾页"
FirstPageImageUrl="~/users/images/news fenye1.jpg"
LastPageImageUrl="~/users/images/news right.jpg" NextPageText="下一页" />
<Columns>
<asp:BoundField >
<ItemStyle Width="80px" />
</asp:BoundField >
<asp:TemplateField>
<ItemTemplate><a href="NewsDetail.aspx?id=<%#Eval("id") %>"><%#Eval("title") %></a></ItemTemplate>
<ItemStyle Width="330px" />
</asp:TemplateField>
<asp:BoundField DataField="author" HeaderText="" >
<ItemStyle Width="80px" />
</asp:BoundField>
<%--<asp:TemplateField>
<ItemTemplate>
<table><tr><td style=" width:50px"> <%#Eval("body") %></td></tr></table>
</ItemTemplate>--%>
<%--</asp:TemplateField>--%>
<asp:BoundField DataField="times" HeaderText="" DataFormatString="{0:d}" />
</Columns>
<PagerStyle Width="10px" Wrap="False" />
</asp:GridView>
后台程序:
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using BLL;
using DAL;
using System.Collections.Generic;
public partial class News : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
dataBind();
}
}
private void dataBind()
{
NewsTypeManager ntm=new NewsTypeManager ();
Repeater1.DataSource = ntm.GetAllNewsTypeList();
Repeater1.DataBind();
//绑定girdview
NewsManager newsManager = new NewsManager();
int userId = Convert.ToInt32(Request.QueryString["id"]);
GridView1.DataSource = newsManager.getNewsListByUserId(userId);
GridView1.DataBind();
}
最重要的部分:
//实现分布功能
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
dataBind();
}
//实现序号
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.RowIndex != -1)
{
int pageIndex = GridView1.PageIndex;
int id = e.Row.RowIndex+pageIndex*10 + 1;
e.Row.Cells[0].Text = id.ToString();
}
}
}
好了先写这些吧,留着以后用。