随笔-312  评论-12034  文章-2  trackbacks-256

English Version: http://dflying.dflying.net/1/archive/125_introduction_to_atlas_controls_in_namespace_sysdata__dataview_and_datafilter.html

本系列有如下三篇文章:

  1. Atlas命名空间Sys.Data下控件介绍——DataSource和XMLDataSource
  2. Atlas命名空间Sys.Data下控件介绍——DataColumn,DataRow和DataTable
  3. Atlas命名空间Sys.Data下控件介绍——DataView和DataFilter

这篇文章是Atlas命名空间Sys.Data下控件介绍这个系列的第三篇,也是最后的一篇。在我的前两篇文章(Atlas命名空间Sys.Data下控件介绍——DataSourceXMLDataSource Atlas名空间Sys.Data下控件介绍——DataColumnDataRowDataTable)中,我们讨论了如何用数据源控件从服务器取得数据并保存在客户端,以及如何用DataTable对象对客户端的数据进行操作。目前为止,我们可以直接将数据显示给用户了,但是,很多时候我们需要在这之前对数据进行一定的修饰,例如,当DataTable中的数据量很大时,我们需要实现分页的功能,或是用户希望根据某一列进行排序,或者用户只对数据中的某一些感兴趣(例如,name等于Dflying的条目)。这也是Atlas中引入DataView以及DataFilter对象的目的。在这篇文章中,我将介绍如何使用DataViewDataFilter对象修饰取得的数据,以提供给UI控件显示。

DataView对象可以实现分页以及排序的功能,并利用DataFilter对数据进行过滤。下面是DataView对象的属性:

  1. data:储存未被修饰的原数据。您应该总是将用DataSource控件取得的DataTable对象设置给这个属性,以备操作。
  2. filteredData:经过修饰的数据,例如经过分页的数据或者经过过滤的数据。
  3. filters:将要应用到data属性上的DataFilter的集合。您可以指定多个DataFilter对象,它们将被依次应用于原数据上以对其进行过滤。对于DataFilter对象的介绍请参见下文。
  4. hasNextPage:当前页后是否有下一页。
  5. hasPreviousPage:当前页前是否有前一页。
  6. length:当前页中实际的条目数量。
  7. pageCount:当前DataView中的页数。
  8. pageIndex:当前页的索引。
  9. pageSize:每一页的长度(每一页中最多有多少个条目)。如果您需要分页功能,则应该设置这个属性。
  10. sortColumnDataView将依据这个属性中指定的列排序。如果您需要排序功能,则应该设置这个属性。
  11. sortDirection:排序的方向。可选Ascending(默认)或Descending

DataView对象还有下面一个方法:

  1. sort:根据sortColumn属性和sortDirection属性对当前数据集合进行排序操作。

请注意,您可能需要两个位于Sys.Data.UI命名空间的控件:DataNavigatorSortBehavior,来帮助您实现分页和排序的功能。关于DataView以及上述两个控件的介绍以及示例程序,请参考使用 ASP.NET Atlas PageNavigator控件实现客户端分页导航

DataView的介绍就暂到这里,我们来看一下DataFilter对象:

DataFilter用来提供对数据的过滤功能。Atlas中的Sys.Data.DataFilter类被定义成所有Filter类的抽象基类。它提供了一个抽象方法,filter。所有的派生类都要采用自己的逻辑来实现这个方法,用来提供相应的过滤规则。

Atlas提供了一个内建的DataFilterPropertyFilter,它可以根据集合中条目的某个属性值来过滤这个集合。

PropertyFilter有如下两个属性:

  1. property:这个Filter将应用于条目的哪个属性。
  2. value:期待的这个属性的值。只有该条目的这个属性的值等于这里指定的值的时候,该条目才能被这个Filter过滤出来。

PropertyFilter的示例程序将很快完成。

在这个系列的最后,让我们来总结一下Atlas命名空间Sys.Data下的这三类控件。如果您能理解这三类控件,将对您未来的Atlas开发大有裨益。

  1. DataSourceXMLDataSourceAtlas命名空间Sys.Data下控件介绍——DataSourceXMLDataSource),用来从服务器端取得数据并将数据保存在客户端,同样在用户修改后可以将数据提交回服务器保存。
  2. DataTable,包括DataRowDataColumnAtlas命名空间Sys.Data下控件介绍——DataColumnDataRowDataTable),是客户端数据的实际储存对象。通过DataTable的方法,您可以在客户端对数据进行操作(添加,删除,修改等)。
  3. DataViewDataFilter(本文),用来在显示给用户前对数据进行修饰(分页,排序,过滤等),有些类似于SQLwhereorder by子句,当然这些操作都是在客户端发生的,并且不影响实际的客户端数据,同样类似于SQL视图View)的概念。
posted on 2006-04-16 13:57 Dflying Chen 阅读(2666) 评论(22)  编辑 收藏 网摘 所属分类: ASP.NET AJAX (Atlas)

评论:
#1楼[楼主] 2006-04-16 16:00 | Dflying Chen      
如何能将技术文章写得好看一点呢?这个系列实在太枯燥了,我自己都没信心看一遍…………郁闷
  回复  引用  查看    
#2楼 2006-04-16 20:21 | superben[未注册用户]
老大,你可不能气妥呀,偶可是天天来这里看您的文章呀!
毕竟我找来找去,只有您比较系统的在写ALTAS的应用文章

  回复  引用    
#3楼[楼主] 2006-04-16 20:27 | Dflying Chen      
@superben
惭愧了……我会努力的

  回复  引用  查看    
#4楼 2006-04-16 20:33 | jjx[未注册用户]
不错的,像这篇再加些代码就更好了,支持一下
  回复  引用    
#5楼[楼主] 2006-04-16 20:44 | Dflying Chen      
@jjx
这个系列(Atlas命名空间Sys.Data下控件介绍)的文章比较基础,如果加一些示例代码的话那么就需要另外的控件,我还没有涉及到。其实我本不想写这个系列的,但是因为在前一个系列(使用ASP.NET Atlas XXXX控件显示XXXX数据)的介绍中遇到了问题,所以暂且放下前一个系列,首先完成了这个系列。这个系列应该是前一个系列的基础吧,等前一个系列完成了,代码也就出来了。

  回复  引用  查看    
#6楼 2006-04-16 22:16 | idior      
这样就嫌枯燥啊 那我岂不是海枯石栏了
http://www.cnblogs.com/idior/archive/2006/04/16/354066.html">http://www.cnblogs.com/idior/archive/2006/04/16/354066.html
埋头憋着写!

  回复  引用  查看    
#7楼[楼主] 2006-04-16 22:22 | Dflying Chen      
@idior
大哥,你这个有技术含量阿……需要的人也多。不像我这个,没多少人看的。

  回复  引用  查看    
#8楼 2006-04-17 09:19 | 一恒[未注册用户]
加油呀,革命尚未成功.
我会天天关注你的.

  回复  引用    
#9楼[楼主] 2006-04-17 09:33 | Dflying Chen      
@一恒
谢谢

  回复  引用  查看    
#10楼 2006-06-09 21:21 | 东东1[未注册用户]
要是vs.net中有智能提示就好了!
  回复  引用    
#11楼[楼主] 2006-06-09 21:25 | Dflying Chen      
@东东1
在正式发布的时候会有的

  回复  引用  查看    
#12楼 2006-06-26 19:48 | 阿不      
这几个对象基本就是与Ado.net对应的类的客户端版本,看明白,但还不明白如何使用。
  回复  引用  查看    
#13楼[楼主] 2006-07-04 16:20 | Dflying Chen      
@阿不
可以看一下我的其它的文章哦:)

  回复  引用  查看    
#14楼 2006-07-05 17:25 | dyl[未注册用户]
希望可以多介绍一些atlas的原理分析之类的内容。
  回复  引用    
#15楼 2006-07-05 17:26 | dyl[未注册用户]
我早前给你发过一封邮件,谈了我对atlas xml-script的实现原理的疑问,经过半天的研究,已经明白了,有兴趣的兄弟也可以看看:
http://duanrain.spaces.msn.com/blog/cns!16930715622FE92C!696.entry?_c11_blogpart_blogpart=blogview&_c=blogpart#permalink
不对之处,望赐教。

  回复  引用    
#16楼[楼主] 2006-07-21 18:17 | Dflying Chen      
@dyl
原理分析可能等我写好这本书以后才会有时间吧……

  回复  引用  查看    
#17楼[楼主] 2006-07-21 18:20 | Dflying Chen      
@dyl
很不错哦:)

  回复  引用  查看    
#18楼 2006-12-13 15:59 | sholden      
求助,dataFilter怎么和dataView相关联呢,具体怎么实现过滤呢?
  回复  引用  查看    
#19楼[楼主] 2006-12-15 19:17 | Dflying Chen      
@sholden
这篇文章还有用么?已经过时了吧?

  回复  引用  查看    
#20楼 2007-04-15 15:04 | mmn[未注册用户]
[url=http://***/19.htm]美军招降志愿军[/url]
[url=http://***/20.htm]越南女兵照片[/url]
[url=http://***/21.htm]各省军队战斗力[/url]
[url=http://***/22.htm]赵薇新恋情[/url]
[url=http://***/23.htm]招风耳美女[/url]
[url=http://***/24.htm]超级模特[/url]
[url=http://***/25.htm]网上直播生活[/url]
[url=http://***/26.htm]外遇 中国日本区别[/url]
[url=http://***/27.htm]纳粹女兵[/url]
[url=http://***/28.htm]恐怖派对[/url]
[url=http://***/29.htm]内地豪放女星[/url]
[url=http://***/30.htm]疯狂示爱[/url]
[url=http://***/31.htm]先进烧饭法[/url]
[url=http://***/32.htm]孙悟空合葬墓[/url]
[url=http://***/33.htm]拉客找假币[/url]
[url=http://***/34.htm]裸眼立体电视[/url]
[url=http://***/35.htm]拉客 假币[/url]
[url=http://***/36.htm]海归 假文凭[/url]

  回复  引用    
#21楼 2007-05-10 12:51 | fdf[未注册用户]
[url=http://sldy008.googlepages.com/FQSH.htm]原始夫妻生活[/url]
[url=http://sldy008.googlepages.com/BCLA.htm]100次恋爱[/url]
[url=http://sldy008.googlepages.com/JHCB.htm]结婚平均成本[/url]
[url=http://sldy008.googlepages.com/MXZP.htm]明星发黄老照片[/url]
[url=http://sldy008.googlepages.com/PFGC.htm]剖腹产全过程[/url]
[url=http://sldy008.googlepages.com/MXKD.htm]明星开店[/url]
[url=http://sldy008.googlepages.com/SDGC.htm]十大最贱的歌词[/url]
[url=http://sldy008.googlepages.com/WJFS.htm]魏骏杰滕丽名分手[/url]
[url=http://sldy008.googlepages.com/SDYX.htm]十大异形[/url]
[url=http://sldy008.googlepages.com/FBJX.htm]翻版李嘉欣[/url]
[url=http://sldy008.googlepages.com/DGHD.htm]十大打工皇帝[/url]
[url=http://sldy008.googlepages.com/CNFS.htm]丑女大翻身[/url]
[url=http://sldy008.googlepages.com/CWEY.htm]宠物食人鳄[/url]
[url=http://sldy008.googlepages.com/XSJY.htm]大学生就业[/url]
[url=http://sldy008.googlepages.com/BQSN.htm]暴强少女猴子舞[/url]
[url=http://sldy008.googlepages.com/TYNR.htm]小S调戏的男星们[/url]
[url=http://sldy008.googlepages.com/GGLG.htm]各国老公[/url]
[url=http://sldy008.googlepages.com/XWNR.htm]体坛 虚伪好男人[/url]
[url=http://sldy008.googlepages.com/ZJBW.htm]假如我中了500万[/url]

  回复  引用    



发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 376437 s5GR07xCVHw=



相关文章:

相关链接: