Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 网站建设 > ASP.NET > 做个DataList 可分页的数据源
【标  题】:做个DataList 可分页的数据源
【关键字】:DataList
【来  源】:http://blog.csdn.net/thcjp/archive/2006/08/30/1145209.aspx

做个DataList 可分页的数据源

Your Ad Here 这个数据源,分两部分,一是从数据类中调出数据,然后在本数据源中对分页参数以及页面分页辅助控件进行操作!在前面有三个控件控制翻页,一个下拉列表,两个LinkButton!

关于更多类中数据操作的方法见 http://thcjp.cnblogs.com/archive/2006/06/18/428775.html 这篇

下面 fill() 方法调用很简单,在页面中要重新绑定的地方 写上 fill() 就可以了,呵呵!但是一定要写哦,例如翻页动作执行后!

下面是db类中的ds方法
    public static DataTable ds(string que)
    
{//返回一个装载了SQL制定留言的数据表,
        OleDbConnection con = odb.con();
        OleDbDataAdapter oda 
= new OleDbDataAdapter();
        oda.SelectCommand
=new OleDbCommand(que,con);
        DataSet ds 
= new DataSet();
        oda.Fill(ds,
"thc");
        
return ds.Tables["thc"];
    }
下面方法使用的数据源就是上面的这个
    private void fill()
    
{//做的一个方法,因为页内将有多次的绑定
        
//这里设置一个隐藏的Label,用与储存当前的页索引
        int cup = Convert.ToInt32(pagelbl.Text);

        PagedDataSource ps 
= new PagedDataSource();//NEW一个分页数据源
        ps.DataSource = odb.ds("select * from guest order by id desc").DefaultView;//送一个SQL语句进去,确定该数据源的数据源,有点绕吧,呵呵
        ps.AllowPaging = true;//允许分页
        ps.PageSize = 2;//设置页的数量
        ps.CurrentPageIndex = cup-1;
        
if (!IsPostBack)
        
{//判断页面是否第一次载入
            for (int i = 1; i <= ps.PageCount; i++)
            
{//循环出页码
                pageddl.Items.Add(i.ToString());
            }

        }

        
//下面主要是控制上下翻页按纽是否起用
        pageup.Enabled = true;
        pagedown.Enabled 
= true;
        
if (ps.IsFirstPage)
        
{//如果是最前页,上页按纽不可用
            pageup.Enabled = false;
        }

        
if (ps.IsLastPage)
        
{//如果是最后页,下页按纽不可用
            pagedown.Enabled = false;
        }

        
//设置页码下拉菜单当前选中的值
        pageddl.SelectedItem.Text = cup.ToString();
        
//终于可以绑定给DataList了
        DataList1.DataSource = ps;
        DataList1.DataKeyField 
= "id";
        DataList1.DataBind();
    }

再下面是翻页事件的处理
    protected void pageddl_SelectedIndexChanged(object sender, EventArgs e)
    
{//页码下拉菜单事件
        pagelbl.Text = pageddl.SelectedItem.Text.ToString();
        fill();
    }

    
protected void pagedown_Click(object sender, EventArgs e)
    
{//下页事件
        pagelbl.Text = Convert.ToString(Convert.ToInt32(pagelbl.Text)+1);
        fill();
    }

    
protected void pageup_Click(object sender, EventArgs e)
    
{//上页事件
        pagelbl.Text = Convert.ToString(Convert.ToInt32(pagelbl.Text)-1);
        fill();
    }
 
ObjectDataSource使用入门详解[视频]:【上一篇】
VS2005新控件之GridView 使用高级技巧系列[一][视频]:【下一篇】
【相关文章】
  • DataList显示ArrayList内容
  • DataList中嵌套DataList的例子
  • 再來一個DataList的ItemTemplate的例子
  • ASP.NET中DataGrid和DataList控件用法比较
  • 关于在DataList中加入删除确认
  • 用DataList + Repeater实现二级下拉列表 当前被点击的字体加粗.
  • DataList嵌套DataList的实现
  • Understanding the Differences Among the DataGrid, DataList, and Repeater
  • MSPlus - DataList Control
  • MSPlus DataList Control(大数据量时的分页演示)
  • 【随机文章】
  • lastb
  • 面向方面的程序设计概念实现与未来
  • 新版本的SWT初步设计
  • 计算机软件水平考试各省联系地址(报名地址)
  • 多中WEB服务器的通用JSp源代码暴露漏洞
  • 小叮当也战江湖—VB实例七日谈(六)
  • 计算最长递增子序列的长度
  • FreeBSD连载(54):配置文件XF86Config
  • 如何制作一张可以启动的光盘(bootable CDs)
  • asp.net 2.0中设定默认焦点按钮
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.