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 { }
}
}
}