バージョン

ノードを他の親に移動する

ここでは、Reposition メソッドを使用して、ツリーの中でノードを別の親に移動する方法を説明します。

  1. コードの記述を開始する前にコード ビハインドに使用/インポートのディレクティブを配置します。そうすれば、メンバは完全に記述された名前を常に入力する必要がなくなります。

Visual Basic の場合:

Imports Infragistics.Win.UltraWinTree

C# の場合:

using Infragistics.Win.UltraWinTree;
  1. フォーム上に UltraTree コントロールを配置します。

  2. ツリーを取り込むために、以下のコードをフォームの Load イベントに追加します。これによって、Parent A と Parent B という 2 つの親が作成されます。Parent A には Child 1 という子が 1 つあります。Parent Bにも Child 2 という子が 1 つあります。

Visual Basic の場合:

Dim aNode As UltraTreeNode
aNode = Me.UltraTree1.Nodes.Add("Parent A")
aNode.Expanded = True
aNode.Nodes.Add("Child Node 1")
aNode = Me.UltraTree1.Nodes.Add("Parent B")
aNode.Expanded = True
aNode.Nodes.Add("Child Node 2")

C# の場合:

UltraTreeNode aNode;
aNode = this.ultraTree1.Nodes.Add("Parent A");
aNode.Expanded = true;
aNode.Nodes.Add("Child Node 1");
aNode = this.ultraTree1.Nodes.Add("Parent B");
aNode.Expanded = true;
aNode.Nodes.Add("Child Node 2");
  1. フォーム上にボタンを配置します。

  2. ボタンの Click イベントへ移動します。

  3. Child Node 2 を Parent B からParent A に移動する以下のコードを追加します。

Visual Basic の場合:

Private Sub UltraButton1_Click(ByVal sender As System.Object, _
  ByVal e As System.EventArgs) Handles UltraButton1.Click
	Dim ParentNodeA As UltraTreeNode
	Dim ChildNode As UltraTreeNode
	ChildNode = Me.UltraTree1.GetNodeByKey("Child Node 2")
	ParentNodeA = Me.UltraTree1.GetNodeByKey("Parent A")
	ChildNode.Reposition(ParentNodeA.Nodes)
End Sub

C# の場合:

private void ultraButton1_Click(object sender, System.EventArgs e)
{
	UltraTreeNode ParentNodeA;
	UltraTreeNode ChildNode;
	ChildNode = this.ultraTree1.GetNodeByKey("Child Node 2");
	ParentNodeA = this.ultraTree1.GetNodeByKey("Parent A");
	ChildNode.Reposition(ParentNodeA.Nodes);
}
  1. プログラムを実行します。

2 つの親ノードが表示されます。Parent B には子ノードがあります。

  1. ボタンをクリックします。

Child Node 2 が Parent B から Parent A へ移動し、親が変わります。

  1. Child Node 2 が最後の子ノードにならないようにするには、Reposition メソッドで index 引数を指定して、Child Node 2 を特定のインデックスに移動します。