使用 ASP+ DataGrid 控制項來建立主視圖/詳細資料視圖

來源:互聯網
上載者:User
asp+|datagrid|建立|控制項|視圖 簡介

Microsoft® Visual Studio.NET 的下一發行版包括 DataGrid Web 控制項 (作為伺服器控制項的 Active Server Page+ (ASP+) 套件的一部分)。 該控制項提供用以根據資料來源的內容來表示 HTML 的功能。

DataGrid 控制項可以用於若干個唯讀彙報情形。該控制項設計用於對豐富而完全可定製的資料表格版面配置的輸出進行簡化。還提供多個機制,用於通過超級連結及其對選擇、排序、分頁和原地編輯和其它特性的支援,為輸出添加互動性。這使得該控制項在若干的常見 Web 應用程式方案中很有用,諸如列表、購物車和查詢結果。

DataGrid 還提供一些功能,這些功能具有 ASP+ 架構所特有的所有伺服器控制項的特點。該控制項包含進行與瀏覽器無關的輸出所需的邏輯,同時提供了一個統一的編程模型,從而能夠處理回傳資料,以及對請求之間的狀態進行管理。這樣,開發商就可以針對帶有屬性、方法和事件的物件模型進行編程,而不必處理直接用 HTML 編程所帶來的不一致性和複雜性。

使用 ASP+ 列表繫結控制項 (英文) 介紹 DataGrid 控制項以及相關的 DataList 和 重複器控制項。還介紹了資料繫結、模板和格式化等等多個關鍵的概念。該文以此為基礎寫成,並將重點放在 DataGrid 控制項,以揭示如何在您自己的應用程式中利用該控制項所提供的功能。


--------------------------------------------------------------------------------


我們要建立什麼?

該文舉出了一序列的樣本頁面,彼此結合,從而最終產生一個頁面,該頁面以樣本資料庫的 Authors 表和 Titles 表為依據,提供主/詳細資料視圖(該資料庫隨 Microsoft SQL Server™2000 一起發運)。序列中的每個頁面均介紹 DataGrid 控制項的一個新的特性或功能。下列圖象是從 pubs 資料庫抽取出來的。

主/詳細資料視圖類似於 Microsoft Access 所介紹的表單/子表單概念。也類似於隨 Microsoft Visual InterDev®6.0 一起發運的 DataForm Wizard (資料表單嚮導)。主/詳細資料視圖顯示一到多的關係結果,其中視圖的一個部分顯示第一個查詢或主查詢的結果。然後跟蹤一個選擇,以篩選所使用的第二個查詢的結果,從而在視圖的另一部分顯示選擇內容的詳細資料。



圖 1. 完成的頁面

圖 1 將 Author 列表顯示在頁面的上半部分,並將關於所選作者的詳細資料(包括相關書名)顯示在下半部分。 Authors 列表和 Titles 均是用 DataGrid 控制項加以表示的。 顯示作者的 DataGrid 舉例說明如何進行選擇、排序、和分頁。顯示書名的 DataGrid 示範如何進行原地編輯、格式化和定製列。

資料訪問

為了使樣本自成一體,從 SQL Server 抽取資料並將該資料連同其架構資訊一同保留為一個 XML 檔案 TitlesDB.xml。下面是該檔案的一個片斷。

<root>
<schema id="DocumentElement" targetNamespace=""
xmlns="http://www.w3.org/1999/XMLSchema"
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<element name="Author">
<complexType content="elementOnly">
<element name="au_id" type="string" minOccurs="1"
maxOccurs="1"></element>
<element name="au_name" type="string" minOccurs="1"
maxOccurs="1"></element>
<element name="address" type="string" minOccurs="0"
maxOccurs="1"></element>
<element name="city" type="string" minOccurs="0"
maxOccurs="1"></element>
<element name="state" type="string" minOccurs="0"
maxOccurs="1"></element>
<element name="zip" type="string" minOccurs="0"
maxOccurs="1"></element>
<element name="phone" type="string" minOccurs="0"
maxOccurs="1"></element>
</complexType>
<unique name="AuthorConstraint" msdata:PrimaryKey="True">
<selector>.</selector>
<field>au_id</field>
</unique>
</element>

<element name="Title">
<complexType content="elementOnly">
<element name="title_id" type="string" minOccurs="1"
maxOccurs="1"></element>
<element name="au_id" type="string" minOccurs="1"
maxOccurs="1"></element>
<element name="title" type="string" minOccurs="1"
maxOccurs="1"></element>
<element name="price" msdata:DataType="System.Currency"
type="string"
minOccurs="1" maxOccurs="1"></element>
<element name="pubdate" type="timeInstant" minOccurs="1"
maxOccurs="1"></element>
</complexType>
<unique name="TitleConstraint" msdata:PrimaryKey="True">
<selector>.</selector>
<field>title_id</field>
</unique>
<key name="AuthorTitle">
<selector>../Author</selector>
<field>au_id</field>



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

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

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