asp.net之DataList的使用方法,及分页(存储过程创建),编辑,

来源:未知 责任编辑:责任编辑 发表时间:2013-08-27 11:21 点击:

 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Configuration;

using System.Data.SqlClient;

using System.Data;

public partial class _Default : System.Web.UI.Page

{

    protected void Page_Load(object sender, EventArgs e)

    {

        if(!IsPostBack)

            BindProduct("1");

    }

    private void BindProduct(string pageindex)

    {

        string str = ConfigurationManager.ConnectionStrings["studentCnn"].ConnectionString;

        using (SqlConnection sqlCnn = new SqlConnection(str))

        {

            SqlDataAdapter da = new SqlDataAdapter("sp_Student_Select_by_Page_rowNumber", sqlCnn);

            da.SelectCommand.Parameters.AddWithValue("@pageIndex", pageindex);

            da.SelectCommand.Parameters.Add("@pageCount", SqlDbType.Int).Direction = ParameterDirection.Output;

            da.SelectCommand.Parameters.AddWithValue("@pageSize", 2);

            da.SelectCommand.CommandType = CommandType.StoredProcedure;

            DataSet ds = new DataSet();

            da.Fill(ds);

            this.DataList1.DataSource = ds.Tables[0].DefaultView;

            this.DataList1.DataBind();

            this.HiddenField1.Value = pageindex;

            this.HiddenField2.Value = da.SelectCommand.Parameters["@pageCount"].Value.ToString();

        }

    }     //绑定数据 www.2cto.com

    protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)

    {

        if(e.CommandName == "buy")

            Response.Write(e.CommandArgument.ToString());

    }

    protected void DataList1_EditCommand(object source, DataListCommandEventArgs e)

    {

        this.DataList1.EditItemIndex = e.Item.ItemIndex;

        this.BindProduct(this.HiddenField1.Value);

    }         //编辑

    protected void DataList1_CancelCommand(object source, DataListCommandEventArgs e)

    {

        this.DataList1.EditItemIndex = -1;

        this.BindProduct(this.HiddenField1.Value);

    }           //取消

    protected void DataList1_UpdateCommand(object source, DataListCommandEventArgs e)

    {

        string name = (e.Item.FindControl("TextBox1") as TextBox).Text;

        string sex = (e.Item.FindControl("TextBox2") as TextBox).Text;

        string age = (e.Item.FindControl("TextBox3") as TextBox).Text;

        string str = ConfigurationManager.ConnectionStrings["studentCnn"].ConnectionString;

        using (SqlConnection sqlCnn = new SqlConnection(str))

        {

            SqlCommand sqlcmm = sqlCnn.CreateCommand();

            sqlcmm.CommandText = "update student set sname=@sname,sex=@sex,age=@age where sid=@sid";

            sqlcmm.Parameters.AddWithValue("@sname", name);

            sqlcmm.Parameters.AddWithValue("@sex", sex);

            sqlcmm.Parameters.AddWithValue("@age", age);

            sqlcmm.Parameters.AddWithValue("@sid", e.CommandArgument);

            sqlCnn.Open();

            sqlcmm.ExecuteNonQuery();

        }

        this.DataList1.EditItemIndex = -1;

        this.BindProduct(this.HiddenField1.Value);

    } //更新

    protected void DataList1_DeleteCommand(object source, DataListCommandEventArgs e)

    {

        string str = ConfigurationManager.ConnectionStrings["studentCnn"].ConnectionString;

        using (SqlConnection sqlCnn = new SqlConnection(str))

        {

            SqlCommand sqlcmm = sqlCnn.CreateCommand();

            sqlcmm.CommandText = "delete from student where sid=@sid";

            sqlcmm.Parameters.AddWithValue("@sid", e.CommandArgument);

            sqlCnn.Open();

            sqlcmm.ExecuteNonQuery();

        }

        this.BindProduct(this.HiddenField1.Value);

    }    //删除

    protected void Button6_Click(object sender, EventArgs e)

    {

        this.BindProduct("1");

    }  //首页

    protected void Button9_Click(object sender, EventArgs e)

    {

        int count = Convert.ToInt32(this.HiddenField2.Value);

        this.BindProduct(count.ToString());

    }  //尾页

    protected void Button7_Click(object sender, EventArgs e)

    {

        int index = Convert.ToInt32(this.HiddenField1.Value);

        if (index > 1)

            index--;

        this.BindProduct(index.ToString());

    }  //上一页

    protected void Button8_Click(object sender, EventArgs e)

    {

        int index = Convert.ToInt32(this.HiddenField1.Value);

        int count = Convert.ToInt32(this.HiddenField2.Value);

       

        if (index < count)

            index++;

        this.BindProduct(index.ToString());

    }

}   //下一页

存储过程的创建:

ALTER PROCEDURE sp_Student_Select_by_Page_rowNumber

 @pageSize int,  --每页记录数量

 @pageCount int output,  --总页数

 @pageIndex int  --当前页索引号

 

AS

BEGIN

declare @totalRecords int

select @totalRecords = count(sid) from student

if(@totalRecords % @pageSize = 0)

 set @pageCount = @totalRecords / @pageSize;

else

 set @pageCount = @totalRecords / @pageSize +1;

with temp as (select row_number() over (order by sid) as id,* from student)

select * from temp where id between (@pageIndex -1)*@pageSize +1 and @pageIndex * @pageSize

return @totalRecords

end

  作者 haitaoDoit

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • 浅析.NET下XML数据访问新机制
    • asp.net 面试+笔试题目第1/2页
    • C# 邮件地址是否合法的验证
    • asp.net 设置GridView的选中行的实现代码
    • C#高级编程:数据库连接[1]
    • 经典C++程序1
    • IIS 自动回收导致后台定时器失效的问题解决
    • ASP.NET&#160;GridView列表代码示例
    • Asp.net MVC源码分析--Action Filter的链式调用
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1