none
objectdatasource自定义分页selectmethod中参数的问题 RRS feed

  • 问题

  • 我在使用objectdatasource控件进行自定义分页时,设置了selectmethod属性,它是一个业务逻辑层的函数名,该函数包含两个参数startRowIndex和maximumROws。
    MSDN是这样描述的:当 EnablePaging 属性设置为 true 时,SelectParameters 集合包含两个额外的参数,一个用于请求的第一行,另一个用于请求的行数。这两个参数的名称由 StartRowIndexParameterName 和 MaximumRowsParameterName 属性定义。
    问题:
    1、是否selectparameters集合中已经存在了这两个参数,而我们不用去设置?
    2、这两个参数是否是应用程序自动获取的,我们不用在程序中对它们进行任何设置?比如当我们按下“下一页”,是否程序会自动设置startrowindex参数为下页的起始索引?
    3、MaximumRows是否就是数据绑定控件(比如说GridView控件)中PageSize属性的值?
    hongdi
    2009年9月3日 7:52

答案

全部回复

  • 你好
    第一个问题 objectdatasource select参数存在两个参数 需要写逻辑代码 和存储过程参数
    第二个 问题 不自动获取  不可以不设置任何参数和逻辑代码 因为objectdatasource不知道任何怎么操作
    第三个问题 不是!maximumrows参数是selectcountmethod定义方法数据总数
    2009年9月3日 8:43
  • 你好:
    1、我有写存储过程和业务逻辑层的代码
    2、我确实没有设置任何参数,因为objectdatasource的SelectParameters 集合中按照MSDN的描述,已经默认包含了这两个参数。
    3、MaximumRows好像是每页显示的记录数。这个值与pagesize的值一样。但我不确定是不是它传过来。


    hongdi
    2009年9月3日 11:32
  • 你好!
    第1,2问题一起说明 你那样做法等于sqldatasource没有区别 提供分页是gridview的视图 这不算叫自定义分页
    你 也许没注意到objectdatasource为了高效率分页 排序提供的控件 你要明显写那两个参数传给存储过程 输出一页数据 提高效率
    第三个问题是 我理解错误了 抱歉 (被英文搞混了) 确实是你说的 和pagesize一样 maximumrows 是一页要显示多少项 那么startrowindex是个一页总数的项 一页多少项X页数=startrowindex  需要数据库的序列号的值 比如sqlserver2005的rownumber函数生成的序列号  
    2009年9月3日 13:58
  • 你好!
    第1,2问题一起说明 你那样做法等于sqldatasource没有区别 提供分页是gridview的视图 这不算叫自定义分页
    你 也许没注意到objectdatasource为了高效率分页 排序提供的控件 你要明显写那两个参数传给存储过程 输出一页数据 提高效率
    第三个问题是 我理解错误了 抱歉 (被英文搞混了) 确实是你说的 和pagesize一样 maximumrows 是一页要显示多少项 那么startrowindex是个页总数的项 一页多少项X页数=startrowindex  需要数据库的序列号的值 比如sqlserver2005的rownumber函数生成的序列号  
    2009年9月3日 14:00
  • 楼主,你好

    参考下面的例子试试。

    http://blog.csdn.net/a497785609/archive/2009/08/19/4463076.aspx


    Microsoft Online Community Support
    2009年9月4日 2:17