您的位置:首页 > 编程语言 > ASP

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

2010-01-30 14:12 537 查看
数据查询与展示: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

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: