2015年9月20日日曜日

DataGridViewにデータを入れる②

今度はバインドさせてみます。


データは、下記に掲載されているxmlデータとしみましょう。
https://msdn.microsoft.com/ja-jp/library/bb387012.aspx

PurchaseOrder.xml
<?xml version="1.0"?>
<PurchaseOrder PurchaseOrderNumber="99503" OrderDate="1999-10-20">
  <Address Type="Shipping">
    <Name>Ellen Adams</Name>
    <Street>123 Maple Street</Street>
    <City>Mill Valley</City>
    <State>CA</State>
    <Zip>10999</Zip>
    <Country>USA</Country>
  </Address>
  <Address Type="Billing">
    <Name>Tai Yee</Name>
    <Street>8 Oak Avenue</Street>
    <City>Old Town</City>
    <State>PA</State>
    <Zip>95819</Zip>
    <Country>USA</Country>
  </Address>
  <DeliveryNotes>Please leave packages in shed by driveway.</DeliveryNotes>
  <Items>
    <Item PartNumber="872-AA">
      <ProductName>Lawnmower</ProductName>
      <Quantity>1</Quantity>
      <USPrice>148.95</USPrice>
      <Comment>Confirm this is electric</Comment>
    </Item>
    <Item PartNumber="926-AA">
      <ProductName>Baby Monitor</ProductName>
      <Quantity>2</Quantity>
      <USPrice>39.98</USPrice>
      <ShipDate>1999-05-21</ShipDate>
    </Item>
  </Items>
</PurchaseOrder>

新しい項目の追加 から データセットを追加します。


追加したデータセットに対し、格納する列の定義をします。
ツールボックスからDataTableをDrag & Dropで追加します。




DataGridViewに表示したいXMLのデータは、1行単位で考えるとAddressタグが1行データに該当します。
じゃ、DataTable名にでもしましょうか。

で、各タグ名を追加します


ついでに、DataSet自信をクリックして、プロパティにある Namespaceを空にします。


今度は、フォームを開いてDataGridViewを追加して、今作ったDataSetをDataGridViewにバインドします。




追加した結果、dataSet12, bindingSource2 として追加されました。


後は、Loadイベントにでも追加すれば表示できます。
using System;
using System.Windows.Forms;

namespace DataGridView
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load_1(object sender, EventArgs e)
        {
            this.dataSet12.ReadXml("PurchaseOrder.xml");
        }
    }
}


0 件のコメント:

コメントを投稿