一个datagridview,下面是四个按钮,首页,上一页,下一页,尾页,有没有个大哥给一个完整的代码?小弟初学者,什么都不懂啊。

解决方案 »

  1.   

    自己定好每页显示多少行,然后dataet的总数除以它得到总页数,然后下方写出来一排页码,点一下就从指定的页*行数,开始往下走一定数量记录填充就是了
      

  2.   

     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();
        }
    }
      

  3.   

    能不能把程序直接发给我?好像缺程序集,或者using指令集。。