DataList数据绑定

                                DataList数据绑定

 

1.       获取数据库信息,保存在一个DataSet中;

2.       DataList控件指定数据源,dlist.DataSource=ds.Tables[0].DefaultView;    dlist.DataBind();

3.       <%#DataBinder.Eval(Container.DataItem,”数据库列名”)%>l来为各个项模板绑定数据。

4.       激活<SelecteItemTemplate></SelecteItemTemplate>之间的内容。在<ItemTemplate></ItemTemplate>中间添加按钮来点击激活;选择模板事件里面的Itemcommand,然后根据下标来进行再绑定,这次显示的内容是<SelecteItemTemplate>的了。

 protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)

    {

        if (e.CommandName == "select")

        {

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

            this.Datab();//这是个进行数据绑定的自定义方法。

        }

}

5<SelecteItemTemplate>里添加按钮来实现更新数据和取消选择。Button用了出现异常(?),

   LineButton代替,按钮的CommandName分别设为editcancel 这样系统默认会与

UpdateCommandCancelCommand事件进行配对,不用用到e.CommandName==edit来验证了。例如:

protected void DataList1_UpdateCommand(object source, DataListCommandEventArgs e)

    {

        string au_id = this.DataList1.DataKeys[e.Item.ItemIndex].ToString();

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

        SqlConnection con=new DB().sqlcon();

        con.Open();

        SqlCommand com = new SqlCommand("update authors set city='" + city + "'where au_id='" + au_id + "'",con);

        try

        {

           int n= com.ExecuteNonQuery();

 

           if (n == 1)

           {

               Response.Write("<script language='javascript'>alert('恭喜您!数据更新成功!');</script>");

           }

           else

           {

               Response.Write("<script language='javascript'>alert('数据更新成功,但过程发现异常,请检查!');</script>");

 

           }

        }

        catch

        {

            Response.Write("<script language='javascript'>alert('数据更新失败!');</script>");

        }

        con.Close();

        this.DataList1.EditItemIndex = -1;

        this.Datab();

}

取消只要protected void DataList1_CancelCommand(object source, DataListCommandEventArgs e)

    {

 

        this.DataList1.EditItemIndex = -1;

        this.Datab();

    }

更新数据的时候要记得dl.DataKeyField = "au_id";用了说明主键,便于准确更新。

 

分页要用到PagedDataSource ps = new PagedDataSource();

agedDataSource类封装了DataGrid 控件的属性,这些属性使 DataGrid 可以执行分页,下面是PagedDataSource的公共属性:

AllowCustomPaging 获取或设置指示是否启用自定义分页的值。
AllowPaging 获取或设置指示是否启用分页的值。
Count 获取要从数据源使用的项数。
CurrentPageIndex 获取或设置当前页的索引。
DataSource 获取或设置数据源。
DataSourceCount 获取数据源中的项数。
FirstIndexInPage 获取页中的第一个索引。
IsCustomPagingEnabled 获取一个值,该值指示是否启用自定义分页。
IsFirstPage 获取一个值,该值指示当前页是否是首页。
IsLastPage 获取一个值,该值指示当前页是否是最后一页。
IsPagingEnabled 获取一个值,该值指示是否启用分页。
IsReadOnly 获取一个值,该值指示数据源是否是只读的。
IsSynchronized 获取一个值,该值指示是否同步对数据源的访问(线程安全)。
PageCount 获取显示数据源中的所有项所需要的总页数。
PageSize 获取或设置要在单页上显示的项数。
VirtualCount 获取或设置在使用自定义分页时数据源中的实际项数。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值