参考 http://www.bc-cn.net/Article/net/aspx/jszl/200601/3302.html
http://www.51it.org/kaifa/dotnet/Netwenzhai/datagrid/200508/29774.html
html:
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>无标题页</title>
</head>
<body>
<form id="DictList" method="post" runat="server">
<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing="0" width="100%" border="1">
<TR>
<td bgColor="#c0c000">信息:<FONT face="Arial" color="#ffffff">数据维护</FONT>
</td>
</TR>
<tr>
<td><FONT face="宋体"></FONT></td>
</tr>
<tr>
<td><asp:datagrid id="MyDataGrid" runat="server" Width="100%" PageSize="4" AllowPaging="True" AutoGenerateColumns="False" DataKeyField="Student_id">
<SelectedItemStyle BackColor="#FFC080"></SelectedItemStyle>
<HeaderStyle BackColor="#C0C000"></HeaderStyle>
<Columns>
<asp:ButtonColumn Text="选择" HeaderText="选择" CommandName="Select">
<HeaderStyle Font-Bold="True" HorizontalAlign="Center" Width="8%"></HeaderStyle>
<ItemStyle Font-Bold="True" HorizontalAlign="Center"></ItemStyle>
</asp:ButtonColumn>
<asp:BoundColumn DataField="Student_id" SortExpression="Student_id asc" HeaderText="Student_id标识号">
<HeaderStyle Width="15%"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="Student_name" SortExpression="Student_name asc" HeaderText="Student_name名称">
<HeaderStyle Width="15%"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="Student_sex" SortExpression="Student_sex asc" HeaderText="Student_sex英文名称">
<HeaderStyle Width="15%"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="Student_nation" SortExpression="Student_nation asc" HeaderText="Student_nation描叙">
<HeaderStyle Width="47%"></HeaderStyle>
</asp:BoundColumn>
</Columns>
<PagerStyle Visible="False"></PagerStyle>
</asp:datagrid></td>
</tr>
</TABLE>
<TABLE style="BORDER-COLLAPSE: collapse" cellSpacing="0" width="100%" bgColor="#ff9966" border="1">
<TR>
<td align="right">
<asp:linkbutton id="btnFirst" runat="server" CommandArgument="fist" OnClick="btnFirst_Click">首页</asp:linkbutton>
<asp:linkbutton id="btnPrev" runat="server" CommandArgument="prev" OnClick="btnPrev_Click">上一页</asp:linkbutton>
<asp:linkbutton id="btnNext" runat="server" CommandArgument="next" OnClick="btnNext_Click">下一页</asp:linkbutton>
<asp:linkbutton id="btnLast" runat="server" CommandArgument="last" OnClick="btnLast_Click">末页</asp:linkbutton>
<asp:label id="lblCurrentIndex" runat="server"></asp:label>/<asp:label id="lblPageCount" runat="server"></asp:label>
跳转到<asp:TextBox id="txtGoPage" runat="server" Width="30px" CssClass="textbox"></asp:TextBox>
<asp:Button id="btnGo" runat="server" Text="GO" CssClass="button" Width="29px" OnClick="btnGo_Click1"></asp:Button></td>
</TR>
</TABLE>
</form>
</body>
</html>
CS:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class tab : System.Web.UI.Page
{
SqlConnection cn;
string strsql;
protected void Page_Load(object sender, EventArgs e)
{
// 在此处放置用户代码以初始化页面
string strconn = ConfigurationSettings.AppSettings["dsn"];
cn = new SqlConnection(strconn);
// myConnection = new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["pubsConnectionString"]);
if (!IsPostBack)
BindGrid();
}
public void BindGrid()
{
// string strSql = "SELECT * FROM authors";
// SqlDataAdapter myCommand = new SqlDataAdapter(strSql, myConnection);
// DataSet ds = new DataSet();
// myCommand.Fill(ds,"authors");
/// MyDataGrid.DataSource = ds.Tables[0].DefaultView;
/// MyDataGrid.DataBind();
// ShowStatsPage();
strsql = "select * from student";
SqlDataAdapter da = new SqlDataAdapter(strsql, cn);
DataSet ds = new DataSet();
da.Fill(ds);
MyDataGrid.DataSource = ds;
MyDataGrid.DataBind();
ShowStatsPage();
}
private void PagerButtonClick(object sender, System.EventArgs e)
{
//获得LinkButton的参数值
String arg = ((LinkButton)sender).CommandArgument;
switch (arg)
{
case ("next"):
if (MyDataGrid.CurrentPageIndex < (MyDataGrid.PageCount - 1))
MyDataGrid.CurrentPageIndex++;
break;
case ("prev"):
if (MyDataGrid.CurrentPageIndex > 0)
MyDataGrid.CurrentPageIndex--;
break;
case ("fist"):
MyDataGrid.CurrentPageIndex = 0;
break;
case ("last"):
MyDataGrid.CurrentPageIndex = (MyDataGrid.PageCount - 1);
break;
default:
//本页值
MyDataGrid.CurrentPageIndex = Convert.ToInt32(arg);
break;
}
BindGrid();
}
void ShowStatsPage()
{
//显示页面信息
lblCurrentIndex.Text = " 当前为第" +((int)MyDataGrid.CurrentPageIndex + 1) +"页";
lblPageCount.Text = " 共" + MyDataGrid.PageCount + "页";
// lblCurrentIndex.Text = " <font color="blue"> 当前为第:" + ((int)MyDataGrid.CurrentPageIndex+1) + "页 </font>";
//lblPageCount.Text = " [<font color="blue"> 共:" + MyDataGrid.PageCount + "页 </font>]";
}
private void MyDataGrid_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
//处理按下数字的方法
MyDataGrid.CurrentPageIndex = e.NewPageIndex;
BindGrid();
}
private void btnGo_Click(object sender, System.EventArgs e)
{
//页面直接跳转的代码
if (txtGoPage.Text.Trim() != "")
{
int PageI = Int32.Parse(txtGoPage.Text.Trim()) - 1;
if (PageI >= 0 && PageI < (MyDataGrid.PageCount))
MyDataGrid.CurrentPageIndex = PageI;
}
BindGrid();
}
//----------------------翻页代码结束
protected void btnNext_Click(object sender, EventArgs e)
{
//获得LinkButton的参数值
String arg = ((LinkButton)sender).CommandArgument;
switch (arg)
{
case ("next"):
if (MyDataGrid.CurrentPageIndex < (MyDataGrid.PageCount - 1))
MyDataGrid.CurrentPageIndex++;
break;
case ("prev"):
if (MyDataGrid.CurrentPageIndex > 0)
MyDataGrid.CurrentPageIndex--;
break;
case ("fist"):
MyDataGrid.CurrentPageIndex = 0;
break;
case ("last"):
MyDataGrid.CurrentPageIndex = (MyDataGrid.PageCount - 1);
break;
default:
//本页值
MyDataGrid.CurrentPageIndex = Convert.ToInt32(arg);
break;
}
BindGrid();
}
protected void btnPrev_Click(object sender, EventArgs e)
{
//获得LinkButton的参数值
String arg = ((LinkButton)sender).CommandArgument;
switch (arg)
{
case ("next"):
if (MyDataGrid.CurrentPageIndex < (MyDataGrid.PageCount - 1))
MyDataGrid.CurrentPageIndex++;
break;
case ("prev"):
if (MyDataGrid.CurrentPageIndex > 0)
MyDataGrid.CurrentPageIndex--;
break;
case ("fist"):
MyDataGrid.CurrentPageIndex = 0;
break;
case ("last"):
MyDataGrid.CurrentPageIndex = (MyDataGrid.PageCount - 1);
break;
default:
//本页值
MyDataGrid.CurrentPageIndex = Convert.ToInt32(arg);
break;
}
BindGrid();
}
protected void btnLast_Click(object sender, EventArgs e)
{
//获得LinkButton的参数值
String arg = ((LinkButton)sender).CommandArgument;
switch (arg)
{
case ("next"):
if (MyDataGrid.CurrentPageIndex < (MyDataGrid.PageCount - 1))
MyDataGrid.CurrentPageIndex++;
break;
case ("prev"):
if (MyDataGrid.CurrentPageIndex > 0)
MyDataGrid.CurrentPageIndex--;
break;
case ("fist"):
MyDataGrid.CurrentPageIndex = 0;
break;
case ("last"):
MyDataGrid.CurrentPageIndex = (MyDataGrid.PageCount - 1);
break;
default:
//本页值
MyDataGrid.CurrentPageIndex = Convert.ToInt32(arg);
break;
}
BindGrid();
}
protected void btnFirst_Click(object sender, EventArgs e)
{
//获得LinkButton的参数值
String arg = ((LinkButton)sender).CommandArgument;
switch (arg)
{
case ("next"):
if (MyDataGrid.CurrentPageIndex < (MyDataGrid.PageCount - 1))
MyDataGrid.CurrentPageIndex++;
break;
case ("prev"):
if (MyDataGrid.CurrentPageIndex > 0)
MyDataGrid.CurrentPageIndex--;
break;
case ("fist"):
MyDataGrid.CurrentPageIndex = 0;
break;
case ("last"):
MyDataGrid.CurrentPageIndex = (MyDataGrid.PageCount - 1);
break;
default:
//本页值
MyDataGrid.CurrentPageIndex = Convert.ToInt32(arg);
break;
}
BindGrid();
}
protected void btnGo_Click1(object sender, EventArgs e)
{
//页面直接跳转的代码
if (txtGoPage.Text.Trim() != "")
{
int PageI = Int32.Parse(txtGoPage.Text.Trim()) - 1;
if (PageI >= 0 && PageI < (MyDataGrid.PageCount))
MyDataGrid.CurrentPageIndex = PageI;
}
BindGrid();
}
}
浙公网安备 33010602011771号