1前台代码:
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" onpageindexchanging="GridView1_PageIndexChanging" AutoGenerateColumns="False" onrowcommand="GridView1_RowCommand" onrowdatabound="GridView1_RowDataBound"> <Columns> <asp:TemplateField HeaderText="表单号"> <ItemTemplate> <%#Eval("FormNum")%> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="项目经理"> <ItemTemplate> <%#Eval("PMName")%> </ItemTemplate> </asp:TemplateField> </Columns>
<PagerTemplate> <asp:Label ID="lblPage" runat="server" Text='<%#(((GridView)Container.NamingContainer).PageIndex+1)+"/"+(((GridView)Container.NamingContainer).PageCount) %>'></asp:Label> <asp:LinkButton ID="lbnFirst" runat="server" Text="首页" Enabled='<%#((GridView)Container.NamingContainer).PageIndex!=0%>' CommandName="Page" CommandArgument="First"></asp:LinkButton> <asp:LinkButton ID="lbnPrev" runat="server" Text="上一页" Enabled='<%#((GridView)Container.NamingContainer).PageIndex!=0%>' CommandName="Page" CommandArgument="Prev"></asp:LinkButton> <asp:LinkButton ID="lbnNext" runat="server" Text="下一页" Enabled='<%#((GridView)Container.NamingContainer).PageIndex!=(((GridView)Container.NamingContainer).PageCount-1)%>' CommandName="Page" CommandArgument="Next"></asp:LinkButton> <asp:LinkButton ID="lbnLast" runat="server" Text="尾页" Enabled='<%#((GridView)Container.NamingContainer).PageIndex!=(((GridView)Container.NamingContainer).PageCount-1)%>' CommandName="Page" CommandArgument="Last"></asp:LinkButton> 到第<asp:TextBox ID="inPageNum" runat="server" Width="80px"></asp:TextBox>页 <asp:Button ID="Button1" runat="server" Text="Go" CommandName="Go" Width="50px" Height="20px" /> </PagerTemplate> </asp:GridView>
2、后台代码
static DataTable table = null; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { Bind(); } } public void Bind() { GridView1.DataSource = Select(); GridView1.DataBind(); } public DataTable Select() { string sql = "select FormNum,PMName from v_Guru_Product_License_Applied "; return DbHelper.Instance.CreateDataTable(CommandType.Text, sql); } protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) { try { GridView1.PageIndex = e.NewPageIndex; if (table == null) { Bind(); } else { GridView1.DataSource = table; GridView1.DataBind(); } TextBox tb = (TextBox)GridView1.BottomPagerRow.FindControl("inPageNum"); tb.Text = (GridView1.PageIndex + 1).ToString(); } catch { } } protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { int i; for (i = 0; i <= GridView1.Rows.Count; i++) { if (e.Row.RowType == DataControlRowType.DataRow) //首先判断是否是数据行 { //当鼠标停留时更改背景色 e.Row.Attributes.Add("onmouseover", "c=this.style.backgroundColor;this.style.backgroundColor='#BBA1E0'"); //当鼠标移开时还原背景色 e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=c"); //单击行的任意列会自动选中此行 e.Row.Attributes.Add("onclick", "__doPostBack('GridView1','Select$" + e.Row.RowIndex + "')"); } } } protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "Go")//跳转 { try { TextBox tb = (TextBox)GridView1.BottomPagerRow.FindControl("inPageNum"); int num = int.Parse(tb.Text); GridViewPageEventArgs ea = new GridViewPageEventArgs(num - 1); GridView1_PageIndexChanging(null, ea); } catch { } } } }