C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.84128 の関連記事表示

<< 0 >>
■84128  Re[3]: 多階層のxmlのDataTableへの読み書きについて
□投稿者/ 魔界の仮面弁士 -(2017/05/17(Wed) 20:46:16)
    2017/05/18(Thu) 12:07:08 編集(投稿者)

    No84127 (なと さん) に返信
    > DataGridViewだとParentしか読まなかったので、気が付きませんでした!

    .DataSource = ds;
    .DataMember = tableName;

    の代わりに、

    .DataSource = ds.Tables[tableName];

    でも OK です。これは DataGridView であっても同じことです。


    ただ、階層問い合わせにするのであれば、
    DataSet/DataTable を DataSource に直接バインドするのではなく、
    BindingSource 経由で渡した方が良いかもしれません。


    >>リレーションを繋ぐのが面倒だったので
    > ds.Relations.Addを使えばいいのかな・・・ちょっと調べてみます。

    ReadXml を呼び出した時点で、リレーションは自動的に貼られています。


    『ds.Tables["Parent"].Rows[0].GetChildRows("Parent_Childs")[0]』とすれば
    『ds.Tables["Childs"].Rows[0]』を指し示します。
    これは <Childs> のタグに相当します。(Children ではないのですね)


    『ds.Tables["Childs"].Rows[0].GetChildRows("Childs_Child")[0]』なら、
    『ds.Tables["Child"].Rows[0]』(すなわち 35歳の子1 の行)です。


    もしも DataGridView に表示させるのであれば、
    それぞれの DataGridViewRow から DataBoundItem プロパティ経由で
    DataRowView オブジェクトが得られるので、その Row プロパティから、
    該当の DataRow オブジェクトが得られるようになっています。

    DataRow さえ得られれば、あとは上記と同様に、
    GetChildRows メソッドあるいは GetParentRow/GetParentRows メソッドで
    階層を辿ることができるでしょう。
記事No.84124 のレス /過去ログ143より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -