DataGrid,DataList,Repeater是我们最常使用的表格化数据显示控件。在它们之间你是不是曾经不知道该怎么选择呢?怎样才能选择到最适合的控件呢?看了以下的内容你大概就会明白了 . 这三个控件大家肯定都非常的熟悉了,我们直接看看它们该在什么场合使用,有什么区别吧。 如果你想要快速、简单的开发: 选择DataGrid 如果你想要轻量级的、只读的表格化显示: 选择Repeater 如果你想要小巧的、快速的解决方案: 选择Repeater(最快)选择DataList(比较快) 如果你想要自定义模板的显示: 选择Repeater 选择DataList 如果你想要能选择一行并编辑: 选择DataGrid 选择DataList 如果你想要能够排序和自动分页的显示: 选择DataGrid 通过以上的介绍我相信大家都知道的该怎么选择这3个数据控件了吧^_^ 谈到这里让我再来说说数据绑定的问题。在看过了 的 《 》后特别指出:
除非要用到多表的关系、排序、过滤等功能,一般的查看推荐使用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]%>