2017-12-21 24 views
3

コードにdsetDataManagerという名前のデータセットクラスが存在します。 この質問で参照している2つのテーブルがあります:DataConfigDataTable、SpecEquationDataTable。ネストしたテーブルを持つxmlにデータセットを書き込む

DataConfigは親テーブルであり、SpecEquationは子テーブルです。ここで

は私の既存のコードです:

Dim dset As New dsetDataManager 
    Dim dataconfig As New dsetDataManager.DataConfigDataTable 
    dataconfig.AddDataConfigRow(name, 
         name, 
         precision, 
         "smartmethodname", 
         "stringevalstring", 
         True, 
         "passingstring", 
         "passingstringinclusion", 
         "0", 
         "datacolumntype", 
         True, 
         True, 
         "networkanalyzertraces", 
         "spectrumanalyzertraces", 
         "noisefiguretraces", 
         0.5, 
         "parser") 
    dset.Tables.Add(dataconfig) 

    Dim specequation As New dsetDataManager.SpecEquationDataTable 
    specequation.AddSpecEquationRow(dataconfig.Rows(0), 
             j + 1, 
             k + 1, 
             arr_minEquation(equationCounter), 
             arr_maxEquation(equationCounter), 
             "Inclusive", 
             "Inclusive") 
    dset.WriteXML("example\path\test.xml") 

これらの方法および表は、すべてのカスタムので、ちょうどこのコードの動作を仮定してください、正しく作成されています。彼らが最も確かにそうです。私の問題:

私はXMLを書くとき、私は2つのスペルテーブル、開始タグと行、そして終了タグのdataconfigテーブルを提供しています。次に、開始タグ、行、終了タグを含むspecequationテーブルがあります。

本当に欲しいのは、xmlのネストしたテーブルです。私はspecequationテーブルをdataconfigテーブルの終了タグの内側にしたい。どのように私はこれを行うことができます上の任意のヒント?私は、.merge()メソッドが動作すると思ったが、 'オブジェクト参照がオブジェクトのインスタンスに設定されていません'という例外が発生しています。

既存のXML:

enter image description here

は、私が欲しいもの: enter image description here

が再び繰り返すためには、親/子関係はすでにこれらのテーブルの間に存在します。私のプログラムの目的は、これらのテーブルを表すデータを含む便利なxmlファイルを自動生成することです。この入れ子が起こることは絶対に重要です。ありがとうございました!

答えて

3

DataRelationを使用して、2つのテーブル間にリレーションシップを追加できます。 これには、2つをリンクするフィールドを追加する必要があります。

次に、DataRelationをNested = Trueに設定できます。例えば

Dim rel As DataRelation = dSet.Relations.Add("relHeader", dSet.Tables("DataConfig").Columns("Link"), dSet.Tables("SpecEquation").Columns("Link")) 
rel.Nested = True 

は、最後に列を非表示:

datatable.Columns("Link").ColumnMapping = MappingType.Hidden 
関連する問題