选择合适的数据控件

        DataGrid,DataList,Repeater是我们最常使用的表格化数据显示控件。在它们之间你是不是曾经不知道该怎么选择呢?怎样才能选择到最适合的控件呢?看了以下的内容你大概就会明白了 
        这三个控件大家肯定都非常的熟悉了,我们直接看看它们该在什么场合使用,有什么区别吧。  
        
        如果你想要快速、简单的开发:                          选择DataGrid
        如果你想要轻量级的、只读的表格化显示:      选择Repeater
        如果你想要小巧的、快速的解决方案:              选择Repeater(最快)选择
DataList(比较快) 
        
如果你想要自定义模板的显示:                          选择Repeater     选择DataList
        如果你想要能选择一行并编辑:                          选择DataGrid     选择DataList
        如果你想要能够排序和自动分页的显示:          选择DataGrid 

      3个控件的比较:

特性

Repeater control

DataList control

DataGrid control

默认显示

None (模板控制)

Table

Table

自动根据数据源建立列

No

No

Yes

自定义表格头

Yes

Yes

Yes

自定义行

Yes

Yes

Yes

自定义交互的行

Yes

Yes

Yes

自定义分隔行

Yes

Yes

No

自定义表格脚

Yes

Yes

Yes

支持分页

No

No

Yes

支持排序

No

No

Yes

支持修改内容

No

Yes

Yes

支持选择单行

No

Yes

Yes

支持选择多行

No

No

No

支持水平和垂直的排序方式

No

Yes

No



   通过以上的介绍我相信大家都知道的该怎么选择这3个数据控件了吧^_^

   谈到这里让我再来说说数据绑定的问题。在看过了 JGTM'2003的 《  ASP.NET中的数据绑定:哪个更快? 》后特别指出:

   除非要用到多表的关系、排序、过滤等功能,一般的查看推荐使用DataReader
   
   另外非必要,不要用DataBinder.Eval,应该用((DataRowView)(Container.DataItem))["列名"]/[列索引]的方式来
   访问数据,但使用这种方法,必须在ASPX页面顶部
   加入

<%@ Import Namespace="System.Data.Common" %>

   例:

<%#((DataRowView)(Container.DataItem))["bbs_title"]%>
<%#((DataRowView)(Container.DataItem))[0]%>  //效率高些

   如果要格式化:

<%#string.Format("{0:c}",((DataRowView)(Container.DataItem))[0])%>

 

   要是DataReader绑定的话:

<%#((DbDataRecord)Container.DataItem)[0]%>

   格式化:

<%#((DbDataRecord)Container.DataItem).GetDateTime(0).ToShortDateString()%>


   由于本人水平有限,很多不足的地方希望各位多多指教^_^
   
   参考:《ASP.NET    Cookbook》
posted @ 2005-05-24 12:13 jierry 阅读(1734) 评论(3)  编辑 收藏 网摘 所属分类: ASP.NET

  回复  引用  查看    
#1楼 2005-05-24 22:29 | jlzhou      
谢谢!总结的很精辟,收藏!
  回复  引用  查看    
#2楼 2005-05-25 09:00 | sema      
好文,赞一个
  回复  引用    
#3楼 2005-05-27 14:42 | welliu [未注册用户]
很有收藏价值




标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2006-01-02 23:13 编辑过
Google站内搜索
[推荐职位]上海盛大网络招聘架构师

China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!
开发者征途系统新作:《设计模式——基于C#的工程化实现及扩展》

相关文章:

相关链接: