バージョン

SortComparer プロパティ (Override)

UltraTreeNode オブジェクトのソート方法を決定するために使用される SortComparer を取得または設定します。
シンタックス
'宣言
 
Public Property SortComparer As IComparer
public IComparer SortComparer {get; set;}
解説

SortComparer はノードのソート方法を決定します。

デフォルトの SortComparer はノードの Text プロパティに基づいて、ノードをアルファベット順にソートします。ソートの方向は、OverrideSort プロパティによって決定されます。

SortComparer プロパティはSystem.Collections.IComparer インターフェイスを実装する任意のオブジェクトに設定できます。Compare メソッドの x オブジェクトと y オブジェクトは、比較される 2 つの UltraTreeNodes です。

カスタムの SortComparer を作成する時に、ノードは常に照準にソートされる必要があります。Sort が Descending に設定されると、UltraTree は順序を反転します。

UltraTreeNodeOverride の SortComparer プロパティは無視されます。

使用例
Imports Infragistics.Win.UltraWinTree

Private Sub button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button10.Click

    ' 注: Override オブジェクトはツリー、ノード、および
    ' ノード コレクション、NodeLevelOverrides コレクション
    ' の項目のプロパティとして公開されていますこれにより、ツリー、ノード、ノードの子、または
    ' ツリーのレベルによってデフォルト設定 
    ' を指定することが可能です

    ' すべてのノードにデフォルトを設定するために、
    ' ツリーの Override プロパティを取得します
    Me.ultraTree1.Override.Sort = SortType.Descending

    ' System.Collections.IComparer インターフェイスを実装する 
    ' カスタム オブジェクトを提供できます
    ' 注: ツリーで複数レベルまたは親ノードで 
    ' 別の比較演算子を指定できます
    'Me.ultraTree1.Override.SortComparer = new MySortComparer()

    ' レベル 2 ノード (ルート ノード 
    ' の孫ノード) のデフォルトを設定します
    ' これにより、上記のデフォルト設定をオーバーライドします
    Me.ultraTree1.NodeLevelOverrides(2).Sort = SortType.Ascending

    ' ルート レベルのノードのデフォルトを設定します 
    ' これにより、上記のデフォルト設定をオーバーライドします
    Me.ultraTree1.Nodes.Override.Sort = SortType.None

    Dim node As UltraTreeNode

    ' キー値によって特定のノードを取得します 
    ' 注: キーはすべてのツリーで一意であるため、
    ' すべてのツリー構造を検索して、そのキーを
    ' 持つノードを返します
    node = Me.ultraTree1.GetNodeByKey("child node 1")

    ' 特定のノードのみにプロパティを設定します
    ' これにより、以上のデフォルト設定をオーバーライドします
    node.Override.Sort = SortType.Ascending

    ' 特定のノードの子ノードにプロパティを設定します
    node.Nodes.Override.Sort = SortType.Ascending

End Sub
using Infragistics.Win.UltraWinTree;

private void button10_Click(object sender, System.EventArgs e)
{

	// 注: Override オブジェクトはツリー、ノード、および
	// ノード コレクション、NodeLevelOverrides コレクション
	// の項目のプロパティとして公開されていますこれにより、ツリー、ノード、ノードの子、または
	// ツリーのレベルによってデフォルト設定 
	// を指定することが可能です

	// すべてのノードにデフォルトを設定するために、
	// ツリーの Override プロパティを取得します
	this.ultraTree1.Override.Sort = SortType.Descending;
	
	// System.Collections.IComparer インターフェイスを実装する 
	// カスタム オブジェクトを提供できます
	// 注: ツリーで複数レベルまたは親ノードで 
	// 別の比較演算子を指定できます
	//this.ultraTree1.Override.SortComparer = new MySortComparer();
		
	// レベル 2 ノード (ルート ノード 
	// の孫ノード) のデフォルトを設定します
	// これにより、上記のデフォルト設定をオーバーライドします
	this.ultraTree1.NodeLevelOverrides[2].Sort = SortType.Ascending;

	// ルート レベルのノードのデフォルトを設定します 
	// これにより、上記のデフォルト設定をオーバーライドします
	this.ultraTree1.Nodes.Override.Sort = SortType.None;

	// キー値によって特定のノードを取得します 
	// 注: キーはすべてのツリーで一意であるため、
	// すべてのツリー構造を検索して、そのキーを
	// 持つノードを返します
	UltraTreeNode node = this.ultraTree1.GetNodeByKey("child node 1");

	// 特定のノードのみにプロパティを設定します
	// これにより、以上のデフォルト設定をオーバーライドします
	node.Override.Sort = SortType.Ascending;

	// 特定のノードの子ノードにプロパティを設定します
	node.Nodes.Override.Sort = SortType.Ascending;
		
}
参照