QA@IT

TreeGridViewにおいて、任意の位置にNodeを追加したい

3753 PV

VB.net、TreeGridViewを用いて開発を行っています。

親P
├子C1
├子C2
└子C3

上図の状態で、親Pに対し、新たなNodeを追加したく、p.Nodes.Insert(index, newNode)を試していますが、うまくいきません。
idnexに1,2を指定した場合、子C3の下に追加されてしまいます。
(何故か、0を指定した場合は、正しく、子C1の上に追加されます。)

任意の位置にNodeを追加する方法をどなたかご教示いただけないでしょうか?

  • 何を作っているのでしょう? Windows Forms アプリですか? 開発環境(OS, .NET, Visual Studio のバージョンなど)を書けないですか? -
  • 説明不足で申し訳ありません。
    作成しているのはWindows Formsアプリ、OSはWindows7、VisualStudio2012 です。
    -
  • Microsoft の .NET Framework に含まれるライブラリではなくて、個人が拡張したものだったようですね。
    http://blogs.msdn.com/b/markrideout/archive/2006/01/08/510700.aspx
    -
  • ダウンロードして試してみたところ、問題は再現できました・・・が、原因・対処法は分かりません。お役に立てずすみませんが、他の方の回等をお待ちください。 -
  • いえ、私の環境の問題じゃないと分かっただけでも成果です。ありがとうございました。 -
  • 少しでもお役に立てば幸いです。私が試した環境を書いておきますね。Vista SP2 32-bit, .NET Framework 2.0, Visual Studio 2010 Professional です。ダウンロードしたサンプルの News Reader Look を使いました。 -
  • Form1,cs の Form1_Shown メソッドの最後の行に treeGridView1.Nodes.Insert(n, new TreeGridNode()); を追加。n は 0 ~ 23(最上位のノード数)の範囲で、0 の場合以外は最終行に追加されました。23 を超えると ArgumentOutOfRangeException でした。 -
ウォッチ

この質問への回答やコメントをメールでお知らせします。