DreamwaverMX與ASP.NET(三)

來源:互聯網
上載者:User
asp.net

3.利用Repeater組件顯示資料集

相關介紹

ASP.NET中資料的顯示多種多樣,其中Repeater是另外一個已有的組件。DataGrid總是會以”表格”來展示資料,當我們想用更自由的方式來展示資料著一定會用到Repeater控制項,

它以Template(樣板)的方式來定義資料輸出格式。

STEP 1. 建立頁面
我們可以通過更改原有的頁面來建立用Repeater組件顯示資料。將Location1.htm重新命名為Location1.aspx。刪除頁面中原有的部分,並像上一章一樣建立Dataset,其中篩選Region_IDEnterValue=1。下面讓我們用Repeater控制項來做動態網頁面。

j為了利用樣板定義輸出格式,先建立表格。我們可以通過ApplicationàDatabases頁面看

資料庫的結構。



[圖3-1 資料庫結構]

根據資料庫的結構,設計下列的表格。



[圖3-2 模版圖]

k下面需要將資料繫結到表格中。將Application面板中Bindings中的資料項目拖到其位置中。



[圖3-3 Binding對話方塊]

資料繫結後得到如下頁面:



[圖3-4資料繫結後的頁面]

是否有點似曾相識的感覺,因為Dreamwaver MX繼承了UltraDev的傳統以高亮顯示資料。 ③ 其中Binding對話方塊中也可以選擇資料表示的形式,點選頁面的資料項目後可在Binding中相應的資料選擇資料表示的形式。



[圖3-5 資料表示的形式]

若要以此表格為樣板顯示所有資料項目,則需全選此表格。單擊Application面板中的Server Behaviors項中的”+”,選擇Repeat Region項



[圖3-6選擇Repeat Region] [圖 3-7 選擇重複的方式]

在Repeat Region中確定想重複的方式,單擊OK。現在就可以按”F12”預覽頁面了。

STEP 2 分析代碼(注意:為了能顯示代碼,以下所有代碼都在“<”之後和“>”之前加了空格,不便之處請多原諒!)

< ASP:Repeater runat="server" DataSource='< %# DataSet1.DefaultView % >' >

< ItemTemplate >

< table width="75%" border="0" >

< tr >

< td width="18%" >Location Name< /td >

< td colspan="3" > < %# DataSet1.FieldValue("LOCATION_NAME", Container) % > < /td >

< /tr >

< tr >

< td >City< /td >

< td width="35%" > < %# DataSet1.FieldValue("CITY", Container) % > < /td >

< td width="19%" >Address< /td >

< td width="28%" > < %# DataSet1.FieldValue("ADDRESS", Container) % > < /td >

< /tr >

< tr >

< td >State< /td >

< td > < %# DataSet1.FieldValue("STATE_COUNTRY", Container) % > < /td >

< td >Code< /td >

< td > < %# DataSet1.FieldValue("CODE", Container) % > < /td >

< /tr >

< tr >

< td >Telephone< /td >

< td > < %# DataSet1.FieldValue("TELEPHONE", Container) % > < /td >

< td >Fax< /td >

< td > < %# DataSet1.FieldValue("FAX", Container) % > < /td >

< /tr >

< /table >

< /ItemTemplate >

< /ASP:Repeater >

ASP.net是通過建立一個ItemTemple的模板來重複顯示所有資料的,所以若要設定Repeater的樣式,可以通過設定模板來實現。

我們還可以通過添加其他樣板來達到我們要的效果。

AlternatingItemTemplate : 實現交叉顯示資料。與原ItemTemplate的模板交叉顯示數 據

SepartorTemplate: 分隔字元樣板。可用於分隔資料行。

HeaderTemplate: 標題樣板。顯示與所有資料的最上方。

FooterTemplate: 結尾樣板。顯示與所有資料的最下方。

其設計形式同ItemTemplate一樣。只需將你想要做模板的部分用標記符包圍即可。

通過Dreamwaver MX來插入代碼可以有捷徑。點擊Insert面板的ASP.NET標籤,然後點擊標誌,就會彈出標記符添加對話方塊。選擇ASP.NET Tags中的Templates項目。你就可以從中選擇你想要添加的代碼。Dreamwaver MX會在你原來輸入游標在的位置上添加代碼。



[圖 2-1 委任標記符對話方塊]
下面是AlternatingItemTemplate,SepartorTemplate,HeaderTemplate,FooterTemplate的代碼,可將其插入到< ASP:Repeater >< /ASP:Repeater >中。

< headertemplate >< font color="#666666" size="4" >All

Location< /font >< /headertemplate >

< AlternatingItemTemplate >

< table width="75%" border="0" bgcolor="#CCCCCC" >

< tr >

< td width="17%" >Location Name< /td >

< td colspan="3" bgcolor="#CCCCCC" >

< %# DataSet1.FieldValue("LOCATION_NAME", Container) % >

< /td >

< /tr >

< tr >

< td >City< /td >

< td width="34%" > < %# DataSet1.FieldValue("CITY", Container) % > < /td >

< td width="24%" >Address< /td >

< td width="25%" > < %# DataSet1.FieldValue("ADDRESS", Container) % > < /td >

< /tr >

< tr >

< td >State< /td >

< td > < %# DataSet1.FieldValue("STATE_COUNTRY", Container) % > < /td >

< td >Code< /td >

< td > < %# DataSet1.FieldValue("CODE", Container) % > < /td >

< /tr >

< tr >

< td >Telephone< /td >

< td > < %# DataSet1.FieldValue("TELEPHONE", Container) % > < /td >

< td >Fax< /td >

< td > < %# DataSet1.FieldValue("FAX", Container) % > < /td >

< /tr >

< /table >

< /AlternatingItemTemplate >

< separatortemplate >< hr width="70%" align="left" >

< /separatortemplate >

< footertemplate >< font color="#666666" size="4" >End< /font >< /footertemplate >

當IIS解析代碼時就會根據關鍵字將模板放入相對的位置,取得原來所要求的頁面。

以上程式所產生的頁面如下:



[圖2-1 最終頁面]

Repeater組件可以建立更自由的頁面,但是其每一行只可以顯示一組資料。想不想建立更加自由的頁面,那就讓我們進入下一節用DataList控制項來顯示資料吧。



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.