ASP.NET学习笔记---数据查询与展示:DataList

 

数据查询与展示:DataList

  

DataList控件可用于创建模板化的列表数据,可以显示诸如一行中有多列的内容,可以用任何重复结构中的数据。
使用DataList控件显示数据
1
、添加DataList控件(数据)——DataList任务——单击编辑模板——在项模板的ItemTempalte中添加Label控件——Lable任务中——单击编辑DataBindings——Lable DateBindings对话框中为Text绑定数据——首先选中字段绑定——在字段绑定下拉框中选择需要的字段——然后在选择自定义绑定进行代码表达式修改对要显示的外键字段对象进行修改来显示相应的属性——单击确定——单击结束模板编辑——在分隔符模板的SeparatorTemplate中添加分隔控件——结束模板编辑
2
、数据绑定
(1)
数据源控件绑定
ObjectDataSource 任务——单击配置数据源——单击下一步——在定义数据方法中选择Select选项中的方法——单击完成(2)手动绑定数据(在后置代码中编写绑定方法,在首次加载页面时调用方法) this.DataList1.DataSource = 调用业务逻辑层的数据访问方法();
                     this.DataList1.DataBind();
分页的实现
1
、存储过程分页
SQL
语句:Select Top pageSzie * from 表名 where 条件 and id not in (Select Top PageSize * (CurrentPageIndex-1) id from where 条件 order by 排序条件) order by 排序条件
2
、使用分页类分页
步骤:(1)编写数据查询方法(查询所有的方法)指定PagedDataSource实例对象的数据源(2)分别设置允许分页、页大小、当前页的属性(3)指定数据显示控件的数据源为该实例对象,并绑定
示例
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 PracticeMyBookShopBLL;
public partial class datalistBook : System.Web.UI.Page
{
    //
分页属性
    private int Pater    {
        get{ return (int)ViewState["Page"]; }
        set{ ViewState["Page"] = value; }    }
    //
首次加载
    protected void Page_Load(object sender, EventArgs e) {
        if (!IsPostBack)  {
            //
首次加载时设置当前页
            ViewState["Page"] = 1;
            //
首次加载时调用方法
            Databind();        }    }
    //
分页数据绑定
    private void Databind()  {
        //
创建分类
        PagedDataSource pagedDataSource = new PagedDataSource();
        //
绑定数据
        pagedDataSource.DataSource = BookManager.GetHotBook();
        //
设置是否自动分页功能
        pagedDataSource.AllowPaging = true;
        //
设置每页记录数
        pagedDataSource.PageSize = 5;
        //
设置当前页
        pagedDataSource.CurrentPageIndex = Pater;
        lblCurrentPage.Text = "
" + (pagedDataSource.CurrentPageIndex + 1).ToString() + "页共" + pagedDataSource.PageCount.ToString() + "";
        SetEnable(pagedDataSource);
        this.DataList1.DataSource = pagedDataSource;
        DataList1.DataBind();         }
    //
上一页
    protected void btnPrev_Click(object sender, EventArgs e) {
        Pater--;
        Databind();     }
    //
下一页
    protected void btnNext_Click(object sender, EventArgs e){
        Pater++;
        Databind();      }
    //
根据条件设置是按钮否可用属性
    private void SetEnable(PagedDataSource pagedDataSource) {
        btnPrev.Enabled = true;
        btnNext.Enabled = true;
        if (pagedDataSource.IsFirstPage)   {
btnPrev.Enabled = false;        }
        if (pagedDataSource.IsLastPage)   {
            btnNext.Enabled = false;
        }    }     }

分页类的属性

属性

说明

CurrentPageIndex

当前页

PageCount

总页数

Count

总记录数

PageSize

每页记录数

DataSource

数据源

AllowPaging

控件是否实现自动分页功能

转载于:https://www.cnblogs.com/liaoqiang/archive/2010/01/30/1660012.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值