noritama2の日記: [VS2003] Dataset to XML to Dataset to DataGrid ・・・
日記 by
noritama2
迂遠な事をしている・・・
サーバでOracleDBよりData取得(SqlDataAdapter)→Dataset.GetXmlでXML化し電文にセット。
クライアントはXMLをDatasetに取込み、DataGridに表示。
書くとたったこれだけなのに、調べながら実装したら半日かかった。
何が?ってーと、XML読込み~DataGrid表示までのいいサンプルがGoogle先生でも「これだ!」というのが無かったから。
Dim objDs As New DataSet
Dim objStream As New System.IO.StringReader(objXmlDoc.SelectSingleNode("/SAMPLE/DATA").InnerText)
objDs.ReadXml(objStream)
DataGrid1.SetDataBinding(objDs, "TABLE")
<SAMPLE>
<DATA>
<TABLE>
<COL1>001</COL1>
<COL2>002</COL2>
<COL3>003</COL3>
</TABLE>
<TABLE>
<COL1>101</COL1>
<COL2>102</COL2>
<COL3>103</COL3>
</TABLE>
</DATA>
<SAMPLE>
こんなのをDataGridに表示するだけなのに・・・
XMLファイルから読み込んで表示するサンプルは沢山あれども、String領域からXMLを読み込んでというのが無かったのです。
そういう方式になってるのは大人の事情ということで。
SetDataBinding(objDs, "TABLE")の"TABLE"指定が無いと、DataGrid表示で[TABLE]という親要素だけ表示され、クリックしないと展開されなかった。(当たり前ですな(笑))
出来上がりはとても短いコードですねぇ。
サーバでOracleDBよりData取得(SqlDataAdapter)→Dataset.GetXmlでXML化し電文にセット。
クライアントはXMLをDatasetに取込み、DataGridに表示。
書くとたったこれだけなのに、調べながら実装したら半日かかった。
何が?ってーと、XML読込み~DataGrid表示までのいいサンプルがGoogle先生でも「これだ!」というのが無かったから。
Dim objDs As New DataSet
Dim objStream As New System.IO.StringReader(objXmlDoc.SelectSingleNode("/SAMPLE/DATA").InnerText)
objDs.ReadXml(objStream)
DataGrid1.SetDataBinding(objDs, "TABLE")
<SAMPLE>
<DATA>
<TABLE>
<COL1>001</COL1>
<COL2>002</COL2>
<COL3>003</COL3>
</TABLE>
<TABLE>
<COL1>101</COL1>
<COL2>102</COL2>
<COL3>103</COL3>
</TABLE>
</DATA>
<SAMPLE>
こんなのをDataGridに表示するだけなのに・・・
XMLファイルから読み込んで表示するサンプルは沢山あれども、String領域からXMLを読み込んでというのが無かったのです。
そういう方式になってるのは大人の事情ということで。
SetDataBinding(objDs, "TABLE")の"TABLE"指定が無いと、DataGrid表示で[TABLE]という親要素だけ表示され、クリックしないと展開されなかった。(当たり前ですな(笑))
出来上がりはとても短いコードですねぇ。
[VS2003] Dataset to XML to Dataset to DataGrid ・・・ More ログイン