C#中用按钮实现翻页功能 一个datagridview,下面是四个按钮,首页,上一页,下一页,尾页,有没有个大哥给一个完整的代码?小弟初学者,什么都不懂啊。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 自己定好每页显示多少行,然后dataet的总数除以它得到总页数,然后下方写出来一排页码,点一下就从指定的页*行数,开始往下走一定数量记录填充就是了 using System;using System.Data;using System.Data.SqlClient;using System.Configuration;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;public partial class _Default : System.Web.UI.Page { private string SqlConnString = System.Configuration.ConfigurationManager.AppSettings["SqlConnString"]; private int pagesize=2; //每页显示条目数量 private int recordcount; //总记录数 private int pagecount; //总页数 private int currentPage; // 当前页号 protected void Page_Load(object sender, EventArgs e) { recordcount = RecordCount(); //获取总页数 if ((recordcount % pagesize) == 0) { pagecount = recordcount / pagesize; } else { pagecount = (recordcount / pagesize)+1; } l_pagecount.Text = pagecount.ToString(); if (!this.IsPostBack) { currentPage = 1; //初始化当前页为1 ViewState.Add("curPage", currentPage); l_curPage.Text = currentPage.ToString(); DataBinder(); } } /// <summary> /// 获取总记录 /// </summary> /// <returns></returns> private int RecordCount() { object obj=null; string sql_select_count = "select count(*) from my_user"; SqlConnection conn = new SqlConnection(SqlConnString); conn.Open(); SqlCommand cmd = new SqlCommand(sql_select_count, conn); obj = cmd.ExecuteScalar(); return (obj == null) ? 0 : Convert.ToInt32(obj); } private void DataBinder() { string sql_select_user = "select * from my_user"; SqlConnection conn = new SqlConnection(SqlConnString); conn.Open(); SqlDataAdapter sda = new SqlDataAdapter(sql_select_user, conn); DataSet ds = new DataSet(); sda.Fill(ds); //此时数据集有内容 ////////////////////////////////开始分页///////////////////////////////// PagedDataSource page = new PagedDataSource(); //实例化分页类 page.AllowPaging = true; //起用分页 page.CurrentPageIndex = currentPage - 1; //设置当前页索引 page.PageSize = pagesize; page.DataSource = ds.Tables[0].DefaultView; //设置数据源 ////////////////////////////分页完毕/////////////////////////////////////// dl_User.DataSource = page; //设置数据源 dl_User.DataBind(); //完成绑定 conn.Close(); /////////////////////////////////////按钮状态///////////////////////////////// if (currentPage == 1) { // 首页 lb_First.Enabled = false; lb_Prev.Enabled = false; lb_Next.Enabled = true; lb_Last.Enabled = true; } else if (currentPage == pagecount) { //尾页 lb_First.Enabled = true; lb_Prev.Enabled = true; lb_Next.Enabled = false; lb_Last.Enabled = false; } else { lb_First.Enabled = true; lb_Prev.Enabled = true; lb_Next.Enabled = true; lb_Last.Enabled = true; } } protected void btn_Submit_Click(object sender, EventArgs e) { string sql_insert_user = "insert into my_user (user_Name,user_Sex,user_Tel,user_Email,user_Address) values (@UserName,@UserSex,@UserTel,@UserEmail,@UserAddress)"; SqlConnection conn = new SqlConnection(SqlConnString); conn.Open(); SqlCommand cmd = new SqlCommand(sql_insert_user, conn); cmd.Parameters.AddWithValue("@UserName", t_UserName.Text); cmd.Parameters.AddWithValue("@UserSex", rb_Sex.SelectedValue); cmd.Parameters.AddWithValue("@UserTel", t_Tel.Text); cmd.Parameters.AddWithValue("@UserEmail", t_Email.Text); cmd.Parameters.AddWithValue("@UserAddress", t_Address.Text); if (cmd.ExecuteNonQuery() > 0) { ClientScript.RegisterStartupScript(this.GetType(), "信息提示", "<script>window.alert('添加成功!');window.location.href='default.aspx'</script>"); } else { ClientScript.RegisterStartupScript(this.GetType(), "信息提示", "<script>alert('添加失败!');window.location.href='default.aspx';</script>"); } conn.Close(); } protected void dl_User_EditCommand(object source, DataListCommandEventArgs e) { } protected void dl_User_CancelCommand(object source, DataListCommandEventArgs e) { } protected void dl_User_UpdateCommand(object source, DataListCommandEventArgs e) { string userId = dl_User.DataKeys[e.Item.ItemIndex].ToString(); TextBox username=(TextBox)e.Item.FindControl("t_UserName"); TextBox usersex=(TextBox)e.Item.FindControl("t_UserSex"); TextBox usertel=(TextBox)e.Item.FindControl("t_UserTel"); TextBox useremail=(TextBox) e.Item.FindControl("t_Email"); TextBox useraddress=(TextBox)e.Item.FindControl("t_Address"); //.TextBox userId = (TextBox)e.Item.FindControl("t_userId"); string sql_update_user = "update my_user set user_Name=@UserName,user_Sex=@UserSex,user_Tel=@UserTel,user_Email=@UserEmail,user_Address=@UserAddress where user_Id=@UserID"; SqlConnection conn = new SqlConnection(SqlConnString); conn.Open(); SqlCommand cmd = new SqlCommand(sql_update_user, conn); cmd.Parameters.AddWithValue("@UserName", username.Text); cmd.Parameters.AddWithValue("@UserSex", usersex.Text); cmd.Parameters.AddWithValue("@UserTel", usertel.Text); cmd.Parameters.AddWithValue("@UserEmail", useremail.Text); cmd.Parameters.AddWithValue("@UserAddress", useraddress.Text); cmd.Parameters.AddWithValue("@UserID", userId); if (cmd.ExecuteNonQuery() > 0) { ClientScript.RegisterStartupScript(this.GetType(), "信息提示", "<script>window.alert('修改成功!');window.location.href='default.aspx'</script>"); } } protected void dl_User_DeleteCommand(object source, DataListCommandEventArgs e) { string userId = dl_User.DataKeys[e.Item.ItemIndex].ToString(); string sql_delete_user = "delete from my_user where user_id=@UserId"; SqlConnection conn = new SqlConnection(SqlConnString); conn.Open(); SqlCommand cmd = new SqlCommand(sql_delete_user, conn); cmd.Parameters.AddWithValue("@UserId", userId); if (cmd.ExecuteNonQuery() > 0) { ClientScript.RegisterStartupScript(this.GetType(), "信息提示", "<script>window.alert('删除成功!');window.location.href='default.aspx'</script>"); } else { ClientScript.RegisterStartupScript(this.GetType(), "信息提示", "<script>alert('删除失败!');window.location.href='default.aspx';</script>"); } conn.Close(); } /// <summary> /// 在执行数据绑定时激发 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void dl_User_ItemDataBound(object sender, DataListItemEventArgs e) { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { //如果是数据项 LinkButton btn_Delete = (LinkButton)e.Item.FindControl("lb_Delete"); btn_Delete.Attributes.Add("onclick", "return window.confirm('确认删除吗?')"); } } protected void dl_User_ItemCommand(object source, DataListCommandEventArgs e) { if (e.CommandName == "Insert") { Response.Write("将要执行添加操作"); } else if (e.CommandName == "Edit") { //编辑 dl_User.EditItemIndex = e.Item.ItemIndex; DataBinder(); } else if (e.CommandName == "Cancel") { dl_User.EditItemIndex = -1; DataBinder(); } } /// <summary> /// 下一页 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void lb_Next_Click(object sender, EventArgs e) { currentPage = Convert.ToInt32(ViewState["curPage"]); currentPage = Convert.ToInt32(l_curPage.Text); if (currentPage < pagecount) { ++currentPage; ViewState["curPage"] = currentPage; l_curPage.Text = currentPage.ToString(); DataBinder(); } } /// <summary> /// 尾页 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void lb_Last_Click(object sender, EventArgs e) { currentPage = pagecount; l_curPage.Text = currentPage.ToString(); DataBinder(); } /// <summary> /// 上一页 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void lb_Prev_Click(object sender, EventArgs e) { currentPage = Convert.ToInt32(l_curPage.Text); if (currentPage >1) { --currentPage; l_curPage.Text = currentPage.ToString(); DataBinder(); } } /// <summary> /// 首页 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void lb_First_Click(object sender, EventArgs e) { currentPage = 1; l_curPage.Text = currentPage.ToString(); DataBinder(); }} 能不能把程序直接发给我?好像缺程序集,或者using指令集。。 请教vs2008编辑器的一个小问题 想彻底清除Common Startup自启动项,在\程序\启动和注册表中怎么修改? C#画线与记录点 关于webreference的修改 c#有关DataGridView的问题!!急 在c#编程中如何实现对WORD文档的翻页 c# 正则表达式问题 想在windows服务的onstart()中读取app.config中配置的remoting设置,如何实现? 最大化后dragmove失效 如何发送邮件中文附件名无乱码 vs 2008 sp1 补丁问题 WPF下WebBrowser的困惑
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
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;public partial class _Default : System.Web.UI.Page
{
private string SqlConnString = System.Configuration.ConfigurationManager.AppSettings["SqlConnString"];
private int pagesize=2; //每页显示条目数量
private int recordcount; //总记录数
private int pagecount; //总页数
private int currentPage; // 当前页号
protected void Page_Load(object sender, EventArgs e)
{
recordcount = RecordCount();
//获取总页数
if ((recordcount % pagesize) == 0)
{
pagecount = recordcount / pagesize;
}
else
{
pagecount = (recordcount / pagesize)+1;
}
l_pagecount.Text = pagecount.ToString();
if (!this.IsPostBack)
{
currentPage = 1; //初始化当前页为1
ViewState.Add("curPage", currentPage);
l_curPage.Text = currentPage.ToString();
DataBinder();
}
}
/// <summary>
/// 获取总记录
/// </summary>
/// <returns></returns>
private int RecordCount()
{
object obj=null;
string sql_select_count = "select count(*) from my_user";
SqlConnection conn = new SqlConnection(SqlConnString);
conn.Open();
SqlCommand cmd = new SqlCommand(sql_select_count, conn);
obj = cmd.ExecuteScalar();
return (obj == null) ? 0 : Convert.ToInt32(obj);
} private void DataBinder()
{
string sql_select_user = "select * from my_user";
SqlConnection conn = new SqlConnection(SqlConnString);
conn.Open();
SqlDataAdapter sda = new SqlDataAdapter(sql_select_user, conn);
DataSet ds = new DataSet();
sda.Fill(ds); //此时数据集有内容 ////////////////////////////////开始分页/////////////////////////////////
PagedDataSource page = new PagedDataSource(); //实例化分页类
page.AllowPaging = true; //起用分页
page.CurrentPageIndex = currentPage - 1; //设置当前页索引
page.PageSize = pagesize;
page.DataSource = ds.Tables[0].DefaultView; //设置数据源
////////////////////////////分页完毕/////////////////////////////////////// dl_User.DataSource = page; //设置数据源
dl_User.DataBind(); //完成绑定
conn.Close();
/////////////////////////////////////按钮状态/////////////////////////////////
if (currentPage == 1)
{
// 首页
lb_First.Enabled = false;
lb_Prev.Enabled = false;
lb_Next.Enabled = true;
lb_Last.Enabled = true;
}
else if (currentPage == pagecount)
{
//尾页
lb_First.Enabled = true;
lb_Prev.Enabled = true;
lb_Next.Enabled = false;
lb_Last.Enabled = false;
}
else
{
lb_First.Enabled = true;
lb_Prev.Enabled = true;
lb_Next.Enabled = true;
lb_Last.Enabled = true;
} }
protected void btn_Submit_Click(object sender, EventArgs e)
{
string sql_insert_user = "insert into my_user (user_Name,user_Sex,user_Tel,user_Email,user_Address) values (@UserName,@UserSex,@UserTel,@UserEmail,@UserAddress)";
SqlConnection conn = new SqlConnection(SqlConnString);
conn.Open();
SqlCommand cmd = new SqlCommand(sql_insert_user, conn);
cmd.Parameters.AddWithValue("@UserName", t_UserName.Text);
cmd.Parameters.AddWithValue("@UserSex", rb_Sex.SelectedValue);
cmd.Parameters.AddWithValue("@UserTel", t_Tel.Text);
cmd.Parameters.AddWithValue("@UserEmail", t_Email.Text);
cmd.Parameters.AddWithValue("@UserAddress", t_Address.Text);
if (cmd.ExecuteNonQuery() > 0)
{
ClientScript.RegisterStartupScript(this.GetType(), "信息提示", "<script>window.alert('添加成功!');window.location.href='default.aspx'</script>");
}
else
{
ClientScript.RegisterStartupScript(this.GetType(), "信息提示", "<script>alert('添加失败!');window.location.href='default.aspx';</script>");
}
conn.Close(); }
protected void dl_User_EditCommand(object source, DataListCommandEventArgs e)
{
}
protected void dl_User_CancelCommand(object source, DataListCommandEventArgs e)
{
}
protected void dl_User_UpdateCommand(object source, DataListCommandEventArgs e)
{
string userId = dl_User.DataKeys[e.Item.ItemIndex].ToString();
TextBox username=(TextBox)e.Item.FindControl("t_UserName");
TextBox usersex=(TextBox)e.Item.FindControl("t_UserSex");
TextBox usertel=(TextBox)e.Item.FindControl("t_UserTel");
TextBox useremail=(TextBox) e.Item.FindControl("t_Email");
TextBox useraddress=(TextBox)e.Item.FindControl("t_Address");
//.TextBox userId = (TextBox)e.Item.FindControl("t_userId");
string sql_update_user = "update my_user set user_Name=@UserName,user_Sex=@UserSex,user_Tel=@UserTel,user_Email=@UserEmail,user_Address=@UserAddress where user_Id=@UserID";
SqlConnection conn = new SqlConnection(SqlConnString);
conn.Open();
SqlCommand cmd = new SqlCommand(sql_update_user, conn);
cmd.Parameters.AddWithValue("@UserName", username.Text);
cmd.Parameters.AddWithValue("@UserSex", usersex.Text);
cmd.Parameters.AddWithValue("@UserTel", usertel.Text);
cmd.Parameters.AddWithValue("@UserEmail", useremail.Text);
cmd.Parameters.AddWithValue("@UserAddress", useraddress.Text);
cmd.Parameters.AddWithValue("@UserID", userId);
if (cmd.ExecuteNonQuery() > 0)
{
ClientScript.RegisterStartupScript(this.GetType(), "信息提示", "<script>window.alert('修改成功!');window.location.href='default.aspx'</script>");
} }
protected void dl_User_DeleteCommand(object source, DataListCommandEventArgs e)
{
string userId = dl_User.DataKeys[e.Item.ItemIndex].ToString();
string sql_delete_user = "delete from my_user where user_id=@UserId";
SqlConnection conn = new SqlConnection(SqlConnString);
conn.Open();
SqlCommand cmd = new SqlCommand(sql_delete_user, conn);
cmd.Parameters.AddWithValue("@UserId", userId);
if (cmd.ExecuteNonQuery() > 0)
{
ClientScript.RegisterStartupScript(this.GetType(), "信息提示", "<script>window.alert('删除成功!');window.location.href='default.aspx'</script>");
}
else
{
ClientScript.RegisterStartupScript(this.GetType(), "信息提示", "<script>alert('删除失败!');window.location.href='default.aspx';</script>");
}
conn.Close();
}
/// <summary>
/// 在执行数据绑定时激发
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void dl_User_ItemDataBound(object sender, DataListItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
//如果是数据项
LinkButton btn_Delete = (LinkButton)e.Item.FindControl("lb_Delete");
btn_Delete.Attributes.Add("onclick", "return window.confirm('确认删除吗?')");
}
}
protected void dl_User_ItemCommand(object source, DataListCommandEventArgs e)
{
if (e.CommandName == "Insert")
{
Response.Write("将要执行添加操作");
}
else if (e.CommandName == "Edit")
{
//编辑
dl_User.EditItemIndex = e.Item.ItemIndex;
DataBinder();
}
else if (e.CommandName == "Cancel")
{
dl_User.EditItemIndex = -1;
DataBinder();
}
}
/// <summary>
/// 下一页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lb_Next_Click(object sender, EventArgs e)
{
currentPage = Convert.ToInt32(ViewState["curPage"]);
currentPage = Convert.ToInt32(l_curPage.Text);
if (currentPage < pagecount)
{
++currentPage;
ViewState["curPage"] = currentPage;
l_curPage.Text = currentPage.ToString();
DataBinder();
}
}
/// <summary>
/// 尾页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lb_Last_Click(object sender, EventArgs e)
{
currentPage = pagecount;
l_curPage.Text = currentPage.ToString();
DataBinder();
}
/// <summary>
/// 上一页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lb_Prev_Click(object sender, EventArgs e)
{
currentPage = Convert.ToInt32(l_curPage.Text);
if (currentPage >1)
{
--currentPage;
l_curPage.Text = currentPage.ToString();
DataBinder();
}
}
/// <summary>
/// 首页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lb_First_Click(object sender, EventArgs e)
{
currentPage = 1;
l_curPage.Text = currentPage.ToString();
DataBinder();
}
}