選擇合適的資料控制項

來源:互聯網
上載者:User
   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]%>

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.