国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 洪江市| 湖北省| 石林| 金乡县| 双鸭山市| 习水县| 将乐县| 房产| 吉安市| 岳普湖县| 青龙| 南投市| 逊克县| 思茅市| 军事| 三原县| 乐山市| 长兴县| 泾源县| 龙陵县| 涞源县| 郸城县| 龙山县| 加查县| 平凉市| 营山县| 高州市| 丰台区| 股票| 敦化市| 翼城县| 闻喜县| 临武县| 广灵县| 类乌齐县| 内黄县| 顺昌县| 台前县| 合川市| 舟曲县| 柞水县|