• ListView实现分页


    ListView实现分页有两种方式,第一种通过DataPager控件。第二种是编写sql语句实现。第一种是一次性将数据从数据库中取出。

    只适用于数据量小的分页。

    1、通过DataPager控件实现分页:

    1、右击项目-添加新项-添加数据集

    2.将需要的表拖进数据集

    3.在数据集里可以添加查询语句。

    4.在页面中添加ObjectDataSource控件、DataPager控件、ListView控件。将数据集绑定给ObjectDataSource控件,

    在将ListViw控件的DataSourceID设置为ObjectDataSource的id。然后设置DataPager控件的PagedControlID为listView的id。这样就可以绑定给ListView控件了。当然在ListView控件中选择分页也会自动在内部创建DataPage控件。

    这样实现的分页是查询出表中所有的数据,并不适合数据量大分页。

    第二种通过编写sql语句实现:

    1.在数据集中添加表,在添加查询,查询语句为:

    select * from (select *,Row_number() over(order by id) rownum from gooodsInfo)  t   where
    t.rownum > @startRowIndex and  t.rownum <= @startRowIndex + @maximumRows.

    ps:Row_number() 是SqlServer中的内置函数,作用是获取结果集的序号  over(order by id) 是根据id来排序。Row_number()必须结合over来使用。rownum是别名

    上面使用子查询的原因是如果是select * from  表名  where 字段=...  这样的写法,这里的字段是从表里去拿的。如果你要用序号,表里是没有序号的,是会报列名无效的。所以必须用子查询。

    上面的两个参数@startRowIndex 表示开始的行数,@maximumRows表示本页的行数,这里的参数名称不能随便命名的。这里的参数必须跟ObjectDataSource

    中的startRowIndex参数和maximumRows相同。方法命名为GetPagedData。

    然后在添加sql语句。选择select(返回单个值)。这个方法用于返回表中有多少行。

    先按照正常的流程配置ObjectDataSource,让ListView自动生成Template,再修改ObjectDataSource的EnablePaging = “True”,SelectCountMethod设置为取得行数的方法。 然后在把SelectMethod 设置为上面添加的GetPagedData。
    DataPager的PageSize属性为一页的条数。DataPager中按钮显示风格由Fields中的字段设置,可以放置多个字段,分NextPreviousPagerField
    (上一页、下一页、首页、末页等)、NumericPagerField(数字页号)、TemplatePagerField用模板自定义。在代码中的Fields中修改。
    NextPreviousPageField主要属性:ButtonCssClass: 按钮的样式;ButtonType,按钮渲染成什么
    (Button按钮、Link超链接、Image图片);
    FirstPageImageUrl,【第一页】按钮图片地址;
    FirstPageText 【第一页】 按钮文本
    showFirstButton,是否显示【第一页】
    NumericPageField主要属性:ButtonCount,数字的个数;按钮渲染成什么(Button、Link、Image);CurrentPageLabelCssClass当前页文本的样式:NumericButtonCSSClass数字按钮的样式。
  • 相关阅读:
    hdu 4578 线段树 ****
    hdu 4576 概率dp **
    hdu 4622 **
    vue中保存和获取cookie,读写cookie以及设置有效时间等,使用js-cookie
    go语言 strconv.ParseInt 的例子
    【golang】unsafe.Sizeof浅析
    Golang 漫谈之channel妙法
    总结了才知道,原来channel有这么多用法!
    字符集之在UTF-8中,一个汉字为什么需要三个字节?
    什么是Bitmap
  • 原文地址:https://www.cnblogs.com/sjyzz/p/7729675.html
Copyright © 2020-2023  润新知