● DataSetのReadXml()メソッドで取り込んだデータをDataGridコントロールに表示するサンプル

図 DataSetのReadXml()メソッドで取り込んだデータをDataGridコントロールに表示するサンプル
このサンプルは、DataSetのReadXml()メソッドで取り込んだデータをDataGridコントロールに表示します。ReadXml()メッドで取り込むXMLファイルは、すでに解説した「DataSetのWriteXml()メソッド・・・」のサンプルで作成します。Customers.xmlファイルが作成されていないときは、DataGridにデータが表示されませんので、先にWriteXml()メソッドのサンプルを実行してください。
このサンプルでは、以下のノウハウを習得することができます。
▲ DataSetのReadXml()メソッドでXMLファイルを取り込む方法
▲ XMLファイルが存在するか調べる方法
▲ DataGridにDataSetをバインドして表示する方法
▲ DataGridのBoundColumnの使い方
サンプルの行20-29では、DataGridを定義しています。このDataGridには、Page_Load()イベントでDataSetをバインドして表示します。行22-28の<Columns>…</Columns>では、BoundColumnで得意先テーブルの得意先ID、得意先、担当を表示しています。行23では、BoundColumnで得意先IDをバインドしています。行24-25では、BoundColumnで得意先をバインドしています。行26-27では、担当をバインドしています。得意先と担当のBoundColumnには、HeaderStyle-HorizontalAlignプロパティにCenterを設定してヘッダをセンタリングしています。
20: <asp:DataGrid id="dgrdCustomers"
runat="server"
21:
AutoGenerateColumns="False">
22: <Columns>
23: <asp:BoundColumn
DataField="CustomerID" HeaderText="ID" />
24: <asp:BoundColumn
DataField="CompanyName" HeaderText="得意先"
25:
HeaderStyle-HorizontalAlign="Center" />
26: <asp:BoundColumn
DataField="ContactName" HeaderText="担当"
27:
HeaderStyle-HorizontalAlign="Center" />
28: </Columns>
29: </asp:DataGrid>
Page_Load()イベントの行10-14では、Customers.xmlファイルが存在するかしらべてDataGridに表示します。行11では、DataSetのReadXml()メソッドでCustomers.xmlファイルを取り込んでいます。行12では、DataGridのDataSourceプロパティにDataSetを設定しています。行13では、DataGridのDataBind()メソッドでDataSetをバインドして表示します。これで、XMLファイルがDataGridに表示されます。
6: Sub Page_Load()
7: Dim ds As New DataSet()
8: Dim strXmlFile As String =
MapPath("Customers.xml")
10
11: ds.ReadXml(strXmlFile)
12:
dgrdCustomers.DataSource = ds
13: dgrdCustomers.DataBind()
14: End If
15: End Sub