做个DataList 可分页的数据源

2023-12-06 15:08

本文主要是介绍做个DataList 可分页的数据源,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

这个数据源,分两部分,一是从数据类中调出数据,然后在本数据源中对分页参数以及页面分页辅助控件进行操作!在前面有三个控件控制翻页,一个下拉列表,两个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"];
        con.Close();
    }下面方法使用的数据源就是上面的这个
    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();
    }

这篇关于做个DataList 可分页的数据源的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/462271

相关文章

oracle分页和mysql分页

mysql 分页 --查前5 数据select * from table_name limit 0,5 select * from table_name limit 5 --limit关键字的用法:LIMIT [offset,] rows--offset指定要返回的第一行的偏移量,rows第二个指定返回行的最大数目。初始行的偏移量是0(不是1)。   oracle 分页 --查前1-9

多数据源的事务处理总是打印很多无用的log日志

之前做了一个项目,需要用到多数据源以及事务处理,在使用事务处理,服务器总是打印很多关于事务处理的log日志(com.atomikos.logging.Slf4jLogger),但是我们根本不会用到这些log日志,反而使得查询一些有用的log日志变得困难。那要如何屏蔽这些log日志呢? 之前的项目是提高项目打印log日志的级别,后来觉得这样治标不治本。 现在有一个更好的方法: 我使用的是log

fastreport打印trichedit分页问题的解决

用fastreport来打印richedit里面的内容。刚开始放一个frxrichview组件到报表上,然后在 var str: TMemoryStream; begin    begin      str:= TMemoryStream.Create;      CurrRichRecord.richedit.Lines.SaveToStream(str);      str.Posit

使用jetty和mongodb做个简易文件系统

使用jetty和mongodb做个简易文件系统 - ciaos 时间 2014-03-09 21:21:00   博客园-所有随笔区 原文   http://www.cnblogs.com/ciaos/p/3590662.html 主题  MongoDB  Jetty  文件系统 依赖库: 1,jetty(提供http方式接口) 2,mongodb的java驱动(访问mo

简单Hbase 分页方案

简单Hbase分页方案 网上大多数分页方案分为从服务端分页或者从客户端分页 服务端分页方式主要利用PageFilter过滤器,首先太复杂,其次针对集群的兼容性不是很好,作者利用服务端分页+客户端分页结合方式给出一种简单易行的中间方案。 1.利用PageFilter过滤器从服务端分页,过滤出所需要的最大条数, 注:作者认为大多数用户不会进行太深的翻页,假设pageSize=5,客户饭100页一共

SpringBoot项目-实现简单的CRUD功能和分页查询

背景 本博文主要是创建了一个新的SpringBoot项目,实现基本的增删改查,分页查询,带条件的分页查询功能。是方便初学者学习后端项目的一个比较清晰明了的实践代码,读者可根据博文,从自己动手创建一个新的SpringBoot项目,到使用PostMan测试基本请求,完完全全实践一遍,写出自己的代码,或者实现自己想要的功能。因为在这个过程中会遇到许多的问题,从JDK的版本选择到跑通SpringBo

Jasperreports+jaspersoft studio学习教程(八)- 报表分页和大量数据内存处理

9.1 设计报表模板 9.1.1 使用Table组件新建模板(步骤参考教程七)如下: 9.1.2 模板自带变量 $V{PAGE_NUMBER} :代表当前页数(可以是页码也可以是页数,通过TextField的计算时间的不同值来设置) $V{PAGE_COUNT} :当前页面中记录的数目 $V{groupname_COUNT} :   代表当前组的记录数 $V{COLUMN_NU

url参数中带有号,需要用先把url做个解析,使其方便在网络上传递

需求:提交异步通知地址给宝付的投标接口,发现投标成功后,异步通知地址没有被调用 排查:通过和宝付技术对接,发现是203,地址重定向错误。深入排查,发现异步通知返回的地址中&号之后的参数宝付没有收到 结论:表单提交的参数中的异步通知地址中的&号没有做urlencode()处理导致传递丢失参数。 地址参数中带有&号,java在做提交的时候,不能正确传递&,导致地址中&之后的内容丢失。故此需要ur

操作系统分页式存储管理

每次输入地址后,计算出页号,若页号越界,则给出错误提示。否则依次调用FIFO和LRU算法,这里值得注意的是,由于我们的FIFO算法先于LRU算法被调用,那么当在处理FIFO算法时,我们暂且不将位视图相应位置做变化,留到处理LRU算法再做处理。 对于FIFO、LRU算法的缺页,我们分两种情况考虑,第一种是模拟栈内还有空间,那么直接将其入栈。第二种是模拟栈内无空间,要发生置换。发生置换时把模拟栈最底

兼容Trino Connector,扩展Apache Doris数据源接入能力|Lakehouse 使用手册(四)

Apache Doris 内置支持包括 Hive、Iceberg、Hudi、Paimon、LakeSoul、JDBC 在内的多种 Catalog,并为其提供原生高性能且稳定的访问能力,以满足与数据湖的集成需求。而随着 Apache Doris 用户的增加,新的数据源连接需求也随之增加。因此,从 3.0 版本开始,Apache Doris 引入了 Trino Connector 兼容框架。 Tri