惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Microsoft Azure Blog
Microsoft Azure Blog
S
Securelist
V
Vulnerabilities – Threatpost
C
Cyber Attacks, Cyber Crime and Cyber Security
Schneier on Security
Schneier on Security
Cyberwarzone
Cyberwarzone
Simon Willison's Weblog
Simon Willison's Weblog
Hacker News - Newest:
Hacker News - Newest: "LLM"
P
Palo Alto Networks Blog
T
Troy Hunt's Blog
SecWiki News
SecWiki News
Security Archives - TechRepublic
Security Archives - TechRepublic
T
The Blog of Author Tim Ferriss
Project Zero
Project Zero
Microsoft Security Blog
Microsoft Security Blog
The Register - Security
The Register - Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
J
Java Code Geeks
F
Full Disclosure
阮一峰的网络日志
阮一峰的网络日志
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Attack and Defense Labs
Attack and Defense Labs
Know Your Adversary
Know Your Adversary
WordPress大学
WordPress大学
PCI Perspectives
PCI Perspectives
N
News | PayPal Newsroom
The Last Watchdog
The Last Watchdog
酷 壳 – CoolShell
酷 壳 – CoolShell
P
Privacy & Cybersecurity Law Blog
P
Proofpoint News Feed
V
Visual Studio Blog
C
CERT Recently Published Vulnerability Notes
H
Help Net Security
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
云风的 BLOG
云风的 BLOG
月光博客
月光博客
T
The Exploit Database - CXSecurity.com
I
InfoQ
大猫的无限游戏
大猫的无限游戏
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
U
Unit 42
腾讯CDC
小众软件
小众软件
V2EX - 技术
V2EX - 技术
罗磊的独立博客
Cloudbric
Cloudbric
Recorded Future
Recorded Future
IT之家
IT之家
Google DeepMind News
Google DeepMind News
C
CXSECURITY Database RSS Feed - CXSecurity.com

博客园 - jierry

ASP.NET2.0控件一览---标准控件(2) ASP.NET2.0控件一览---标准控件(1) 控件开发时两种JS嵌入资源方式的使用 - jierry - 博客园 T-SQL tips(1)临时表和表变量 Flash Control for ASP.NET 2.0-Include Flash movies in your aspx pages 为DataGrid创建自定义列控件(四) 为DataGrid创建自定义列控件(三) - jierry - 博客园 为DataGrid创建自定义列控件(二) 为DataGrid创建自定义列控件(一) (转)SQLServer和Oracle的常用函数对比 《Effective C#》读书笔记(4) 《Effective C#》读书笔记(3) 《Effective C#》读书笔记(2) 《Effective C#》读书笔记(1) 自带图层的链接控件(DKLinks 1.0.0.323 ) 关于CodeBuild V3.0的一些想法 小工具:SQL存储过程解密修改工具 交叉表应用-成绩统计 现在提供第一版的存储过程生成器下载,欢迎大家试用
选择合适的数据控件
jierry · 2005-05-24 · via 博客园 - jierry

        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》