- PR -

多次元XSDスキーマへのデータ作成方法を教えてください

1
投稿者投稿内容
みと
会議室デビュー日: 2007/01/12
投稿数: 1
投稿日時: 2007-01-12 00:22
下の多次元XSDスキーマを作成した場合、どうやって 多次元の項目 に値を設定すればよいのでしょうか?
key や name などは、値を設定できたのですが、 detail は出来ませんでした。
やり方を教えてください。

-------------------------------
●xsd
<?xml version="1.0" encoding="utf-8" ?>
<xs:schema id="ListDataSet"
targetNamespace="http://tempuri.org/ListDataSet.xsd"
elementFormDefault="qualified"
attributeFormDefault="qualified"
xmlns="http://tempuri.org/ListDataSet.xsd"
xmlns:mstns="http://tempuri.org/ListDataSet.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="ListDataSet" msdata:IsDataSet="true">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element name="List">
<xs:complexType>
<xs:sequence>
<xs:element name="key" type="xs:string" minOccurs="0" />
<xs:element name="name" type="xs:string" minOccurs="0" />
<xs:element name="detail" type="DetailType" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:complexType name="DetailType" msdata:IsDataSet="true">
<xs:sequence>
<xs:element name="key" type="xs:string" minOccurs="0" />
<xs:element name="detail" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:schema>


-------------------------------
●コード
ListDataSet.detailDataTable dtDetail = new ListDataSet.detailDataTable();
ListDataSet.detailRow drDetail = dtDetail.NewdetailRow();
dtDetail = (ListDataSet.detailDataTable)dtDetail.Clone();

// 10件データ作成
for ( int i = 0; i < 10 ; i++ )
{
// 初期化
drDetail = (ListDataSet.detailRow)dtDetail.NewRow();
// 値をセット
drDetail.key = "001";
drDetail.detail = "説明" + i.ToString();
// データ追加
dtDetail.Rows.Add(drDetail);
}

// 親TBLへ設定
ListDataSet ds = new ListDataSet();
ListDataSet.ListRow dr = ds.List.NewListRow();
// 値セット
dr = ds.List.NewListRow();
dr.key = "001"; // ←これは出来る
dr["detail"] = (ListDataSet.detailDataTable)dtDetail; // ←これは出来ない
// データ追加
ds.List.AddListRow(dr);


-------------------------------
●エラー内容
システム例外が発生しました。 メッセージ:指定されたキャストは有効ではありません。
るぱん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 1370
投稿日時: 2007-01-12 10:22
るぱんです。

言語は?
コード:
ListDataSet
 ┗List
   ┣key
   ┣name
   ┗detail
     ┣key
     ┗detail


コード:
dr["detail"] = (ListDataSet.detailDataTable)dtDetail; // ←これは出来ない 
●エラー内容 
システム例外が発生しました。 メッセージ:指定されたキャストは有効ではありません。


コード:
ListDataSet = ds
 ┗List = dr
   ┣key
   ┣name
   ┗detail = drDetail?
     ┣key
     ┗detail


dr["detail"]って書くのが良くわからないんですが・・・?
dr.detailだとどうなるんだろう・・・?

あと、参考にしたサイトとかがあればそれも乗せてください。
1

スキルアップ/キャリアアップ(JOB@IT)