国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

關于何種情況下使用DataGrid、DataList或Repeater的一些討論(3)

2024-07-21 02:16:30
字體:
來源:轉載
供稿:網(wǎng)友
datalist控件]



  如前所述,datagrid使用表格來顯示數(shù)據(jù)。你也許需要更進一步地控制數(shù)據(jù)的顯示。例如,你想使數(shù)據(jù)在表格中顯示,但不是每行只有一條記錄,而是多條。又或者,你并不想使用表格來顯示數(shù)據(jù),而是只將它們顯示在一系列<span>標簽中。

  datalist放棄了datagrid中列表顯示數(shù)據(jù)的概念,而是使用事先定義好的模板(template)來定制顯示。通過使用模板,可以同時使用html標簽或數(shù)據(jù)綁定。這里的數(shù)據(jù)綁定的形式為:<%# … %>,用來顯示數(shù)據(jù)源中給定條目的數(shù)據(jù)記錄。如下的itemtemplate將會顯示數(shù)據(jù)源中companyname字段:



  <asp:datalist runat="server" id="mydatalist">

    <itemtemplate>

      <%# databinder.eval(container.dataitem, "companyname") %>

    </itemtemplate>

  </asp:datalist



  通過修改上面的模板,我們可以使companyname字段顯示為粗體字,而contactname字段則以正常式樣顯示在companyname之下。



  <asp:datalist runat="server" id="mydatalist">

    <itemtemplate>

      <b><%# databinder.eval(container.dataitem, "companyname") %></b>

      <br />

      <%# databinder.eval(container.dataitem, "contactname") %>

    </itemtemplate>

  </asp:datalist>



  對于datalist數(shù)據(jù)源中的每一條記錄,itemtemplate會通過定義html標簽來以相同的樣式顯示數(shù)據(jù)。itemtemplate還支持其它其它6種模板:

  ·alternatingitemtemplate

  ·edititemtemplate

  ·footertemplate

  ·headertemplate

  ·itemtemplate

  ·selecteditemtemplate

  ·separatortemplate

  默認情況下datalist會將記錄顯示在html表格中。然而,通過設定repeatcolumn屬性,你可以設置在一行中顯示多少條記錄。更進一步,你甚至可以指定datlist的內(nèi)容不顯示在表格中,而是<span>標簽中。這可以通過設定repearlayout屬性來實現(xiàn)。

  通過模板、repeatcolumn和repeatlayout屬性,很明顯datalist在定制數(shù)據(jù)輸出樣式方面較datagrid更具靈活性,使得用戶界面設計可以更加友好。當然,我們還需要進行功能性的對比,如分頁、排序、記錄編輯等等。

  通過edititemindex模板和editcommand,updatecommand以及cancelcommand事件,datalist將支持記錄編輯的功能。不過,比較datagrid而言,這需要耗費更多的開發(fā)時間來實現(xiàn)。這種開發(fā)時間上的不一致主要有兩個原因:

  ·編輯/更新/刪除按鈕在datagrid中可以通過設定editcommandcolumn來自動添加;而在datalist中則需要手動添加。

  ·datagrid的boundcolumn列樣式自動使用文本框控件來顯示記錄編輯界面。而在datalist中,你必須通過edititemtemplate明確地指定使用什么樣的編輯界面。

  實現(xiàn)datalist中的分頁、排序功能同記錄編輯功能情況一樣,并不算非常復雜。這些功能可以通過巧妙的編程加以實現(xiàn),只是耗費一些開發(fā)時間。所以,如果需要用戶對數(shù)據(jù)記錄進行排序或編輯的話,使用datagrid要比使用datalist方便得多。

  datalist的性能要比datagrid好一些,特別是當datalist被包含在form當中時。圖2顯示了wast對datalist的測試。






圖2:對datalist的每秒請求次數(shù)



  可以看出,在被web form包含的情況下,datalist的性能要明顯好于datagrid。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 盐边县| 山东| 广丰县| 威海市| 卓尼县| 保德县| 弥勒县| 安陆市| 高台县| 于都县| 田阳县| 大关县| 通渭县| 江达县| 英吉沙县| 太湖县| 乳源| 民勤县| 大姚县| 定边县| 海南省| 南陵县| 武功县| 图们市| 铁岭市| 富蕴县| 双峰县| 泸西县| 改则县| 宣恩县| 灵武市| 南靖县| 邹平县| 鹤山市| 庆元县| 兴文县| 南宫市| 尤溪县| 龙门县| 德昌县| 千阳县|