(18):チュートリアル(7)〜ページデザイン〜
著者一覧を表示するページ「ViewAll.aspx」のデザイン手順は次の通り。
- (1)データを一覧表示するGridViewコントロールと、ObjectContainerDataSourceコントロールを配置する。
- (2)ObjectContainerDataSourceコントロールのデータソースに、Authorクラスを設定する(データバインドするEntityクラスを設定する。ObjectDataSourceコントロールと似ているが、CRUDメソッドを指定する必要がない)。
- (3)GridViewのデータソースにObjectContainerDataSourceコントロールを選択する。スキーマを更新すれば、GridViewのカラムがAuthorクラスのプロパティに従って自動的に設定される。ここでは「選択を有効にする」にチェックをいれておく。
最終的な「ViewAll.aspx」のコードは次の通り。
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ViewAll.aspx.cs" Inherits="AuthorsBL_ViewAll" Title="ViewAll" MasterPageFile="~/Shared/Default.master" %> <%--ObjectContainerDataSource用の宣言--%> <%@ Register Assembly="Microsoft.Practices.Web.UI.WebControls" Namespace="Microsoft.Practices.Web.UI.WebControls" TagPrefix="pp" %> <%--マスタページ内のコンテンツ設定--%> <asp:Content ID="content" ContentPlaceHolderID="DefaultContent" runat="Server"> <h1>ViewAll</h1> <%--WCSFのデータソースコントロール--%> <pp:ObjectContainerDataSource ID="ObjectContainerDs" runat="server" DataObjectTypeName="MyWcsf.AuthorsBL.Entity.Author" /> <%--データを一覧表示するGridViewコントロール--%> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="ObjectContainerDs"> <Columns> <asp:CommandField ShowSelectButton="True" /> <asp:BoundField DataField="Tel" HeaderText="Tel" SortExpression="Tel" /> <asp:BoundField DataField="Id" HeaderText="Id" SortExpression="Id" /> <asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" /> <asp:BoundField DataField="RegDage" HeaderText="RegDage" SortExpression="RegDage" /> </Columns> </asp:GridView> </asp:Content>