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

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

 

このサンプルは、DataSetReadXml()メソッドで取り込んだデータをDataGridコントロールに表示します。ReadXml()メッドで取り込むXMLファイルは、すでに解説した「DataSetWriteXml()メソッド・・・」のサンプルで作成します。Customers.xmlファイルが作成されていないときは、DataGridにデータが表示されませんので、先にWriteXml()メソッドのサンプルを実行してください。

 

このサンプルでは、以下のノウハウを習得することができます。

 

   DataSetReadXml()メソッドでXMLファイルを取り込む方法

   XMLファイルが存在するか調べる方法

   DataGridDataSetをバインドして表示する方法

   DataGridBoundColumnの使い方

 

サンプルの行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では、DataSetReadXml()メソッドでCustomers.xmlファイルを取り込んでいます。行12では、DataGridDataSourceプロパティにDataSetを設定しています。行13では、DataGridDataBind()メソッドでDataSetをバインドして表示します。これで、XMLファイルがDataGridに表示されます。

 

  6: Sub Page_Load()
  7:   Dim ds As New DataSet()
  8:   Dim strXmlFile As String = MapPath("Customers.xml")
  9:
 10
:   If File.Exists(strXmlFile) Then

 11:     ds.ReadXml(strXmlFile)
 12:     dgrdCustomers.DataSource = ds
 13:     dgrdCustomers.DataBind()
 14:   End If
 15: End Sub