[]
        
(Showing Draft Content)

Wijmo_Nav.Treeview

TreeView クラス

TreeView コントロールは、テキスト、チェックボックス、画像、 または任意のHTMLコンテンツを保持できるTreeNode オブジェクトの階層リストを表示します。

通常、TreeView は、階層として表示すると便利なドキュメントの見出し、 インデックス項目、ディスク内のファイルやディレクトリなどの 情報を表示するために使用されます。

TreeView を作成したら、通常は次のプロパティを設定します。

  1. itemsSource:ツリーに表示されるデータを含む配列。
  2. displayMemberPath:ノードに表示するテキストを含む データ項目プロパティの名前(デフォルトは'header')。
  3. childItemsPath:ノードの子項目を含むデータ項目プロパティの 名前(デフォルトは'items')。

TreeView コントロールは、次のキーボードコマンドをサポートしています。

キーの組み合わせアクション
↑/↓表示されている前のノードまたは次のノードを選択します。
選択したノードに子ノードが存在する場合はノードを折りたたむ、それ以外の場合は親ノードを選択します。
選択したノードに子ノードが存在する場合は、ノードを展開します。
Home/End表示されている最初または最後の可視ノードを選択します。
Space現在のノード内のチェックボックスを切り替えます(showCheckboxes プロパティを参照)。
その他の文字入力されたテキスト(複数文字の自動検索)を含むノードを検索します。

次の例では、単純なツリーを作成し、TreeViewの主なプロパティの効果を確認することができます。

Example

階層

  • any
    • TreeView

コンストラクタ

constructor

  • new TreeView(element: any, options?: any): TreeView
  • TreeView クラスの新しいインスタンスを初期化します。

    引数

    • element: any

      コントロールをホストするDOM要素、またはホスト要素のCSS セレクター(例: '#theCtrl')。

    • オプション options: any

      コントロールの初期化データを含むJavaScriptオブジェクト。

    戻り値 TreeView

プロパティ

allowDragging

allowDragging: boolean

ユーザーがTreeView 内でノードをドラッグアンドドロップできるかどうかを指定する値を取得または設定します。

autoCollapse

autoCollapse: boolean

ノードが展開されたときに、兄弟ノードを折りたたむかどうかを指定する値を 取得または設定します。

このプロパティは、デフォルトでは trueに設定されています。 通常は、使用していないノードを折りたたんだ方がUIがすっきりするためです。

checkOnClick

checkOnClick: boolean

ユーザーがノードヘッダーをクリックしたときに、チェックボックスを切り替えるかどうかを指定する値を取得または設定します。

このプロパティのデフォルト値は falseです。これにより、ユーザーがノードヘッダーではなく チェックボックス自体をクリックした場合にのみチェックボックスのオン・オフが切り替わります。

showCheckboxes プロパティと checkedItemsChanged イベントを参照してください。

checkedItems

checkedItems: any[]

現在オンに設定されている項目が含まれる配列を取得します。

返される配列には、子を持たない項目だけが含まれます。 これは、親項目のチェックボックスが子項目のオンまたはオフに 使用されるからです。

showCheckboxes プロパティと checkedItemsChanged イベントも参照してください。

次に例を示します。

import { TreeView } from '@grapecity/wijmo.nav';
var treeViewChk = new TreeView('#gsTreeViewChk', {
   displayMemberPath: 'header',
   childItemsPath: 'items',
   showCheckboxes: true,
   itemsSource: items,
   checkedItemsChanged: function (s, e) {
       var items = s.checkedItems,
           msg = '';
       if (items.length) {
           msg = '<p><b>Selected Items:</b></p><ol>\r\n';
           for (var i = 0; i < items.length; i++) {
               msg += '<li>' + items[i].header + '</li>\r\n';
           }
           msg += '</ol>';
       }
       document.getElementById('gsTreeViewChkStatus').innerHTML = msg;
   }
});

checkedMemberPath

checkedMemberPath: any

ノードのチェック状態にバインドする1つ以上のプロパティのの名前を取得または設定します。

showCheckboxes プロパティと checkedItemsChanged イベントも参照してください。

childItemsPath

childItemsPath: any

各ノードの子項目を含む1つ以上のプロパティの名前を 取得または設定します。

このプロパティのデフォルト値は文字列'items'です。

ほとんどの場合、子項目を含むプロパティは、 ツリーのすべてのデータ項目で同じです。このような場合は、 childItemsPath にその名前を設定します。

ただし、項目のレベルごとに異なるプロパティを使用して 子項目を保存する場合もあります。たとえば、カテゴリ、製品、注文から成る ツリーがあるとします。その場合に、 childItemsPath に次のような配列を設定します。

// カテゴリ、製品、注文のヘッダーがそれぞれ異なります
tree.displayMemberPath = [ 'CategoryName', 'ProductName', 'OrderID' ];

displayMemberPath

displayMemberPath: any

ノードのビジュアル表現として使用される1つ以上のプロパティの名前を 取得または設定します。

このプロパティのデフォルト値は文字列'header'です。

ほとんどの場合、ノードテキストを含むプロパティは、 ツリーのすべてのデータ項目で同じです。このような場合は、 displayMemberPath にその名前を設定します。

ただし、項目のレベルごとに異なるプロパティを使用して ノードテキストを表す場合もあります。たとえば、カテゴリ、製品、注文から成る ツリーがあるとします。その場合に、 displayMemberPath に次のような配列を設定します。

// カテゴリ、製品、注文のヘッダーがそれぞれ異なります
tree.displayMemberPath = [ 'CategoryName', 'ProductName', 'OrderID' ];

expandOnClick

expandOnClick: boolean

ユーザーがノードヘッダーをクリックしたときに、折りたたまれているノードを展開するかどうかを指定する値を取得または設定します。

このプロパティのデフォルト値はtrueです。

expandOnLoad

expandOnLoad: boolean

ツリーがロードされたときに最初のノードを自動的に 展開するかどうかを決定する値を取得または設定します。

このプロパティのデフォルト値は true です。 falseに設定された場合、すべてのノードが折りたたんだ状態で表示されます。

imageMemberPath

imageMemberPath: any

ノードの画像のソースとして使用する1つ以上のプロパティの名前を 取得または設定します。

このプロパティのデフォルト値は空の文字列です。これは、ノードに画像が追加されないことを示します。

isAnimated

isAnimated: boolean

ノードを展開または折りたたむときにアニメーションを使用するかどうかを示す値を取得または設定します。

このプロパティのデフォルト値はtrueです。

isContentHtml

isContentHtml: boolean

項目をプレーンテキストまたはHTMLに連結するかどうかを示す値を取得または設定します。

このプロパティのデフォルト値はfalse です。

isReadOnly

isReadOnly: boolean

ユーザーがノードのテキストを編集できるかどうかを指定する値を取得または設定します。

isReadOnly プロパティをfalseに設定すると、ノードに直接入力することで ツリーノードのコンテンツを編集することができます。ノードのコンテンツ全体を選択した状態で、 [F2]キーを使用して編集モードに入ることもできます。 次のメソッドとイベントを使用して、編集動作をカスタマイズできます。

メソッド:: startEditingfinishEditing.

イベント: nodeEditStartingnodeEditStartednodeEditEndingnodeEditEnded

このプロパティのデフォルト値は trueです。

itemsSource

itemsSource: any[]

TreeView 項目を含む配列を取得または設定します。

TreeView itemsSource 配列は一般に、 子項目を含む項目から成る階層構造を持ちます。項目の深さに制限はありません。

たとえば、次の配列は、それぞれが2つの子ノードを持つ 3つの最上位ノードを含むツリーを生成します。

import { TreeView } from '@grapecity/wijmo.nav';
var tree = new TreeView('#treeView', {
    displayMemberPath: 'header',
    childItemsPath: 'items',
    itemsSource: [
        { header: '1 first', items: [
            { header: '1.1 first child' },
            { header: '1.2 second child' },
        ] },
        { header: '2 second', items: [
            { header: '3.1 first child' },
            { header: '3.2 second child' },
        ] },
        { header: '3 third', items: [
            { header: '3.1 first child' },
            { header: '3.2 second child' },
        ] }
    ]
});

lazyLoadFunction

lazyLoadFunction: Function

オンデマンドで子ノードをロードする関数を取得または設定します。

lazyLoadFunction は、2つのパラメータとして、展開されるノードと、 データが取得可能になったときに呼び出されるコールバックを 受け取ります。

コールバック関数は、TreeView にノードのロードプロセスが 完了したことを通知します。データのロード時にエラーがあっても、 コールバックは必ず呼び出されます。

次に例を示します。

import { TreeView } from '@grapecity/wijmo.nav';
var treeViewLazyLoad = new TreeView('#treeViewLazyLoad', {
   displayMemberPath: 'header',
   childItemsPath: 'items',
   itemsSource: [ // 3つの遅延ロードノードから開始します
       { header: 'Lazy Node 1', items: []},
       { header: 'Lazy Node 2', items: [] },
       { header: 'Lazy Node 3', items: [] }
   ],
   lazyLoadFunction: function (node, callback) {
       setTimeout(function () { // httpの遅延をシミュレーションします
           var result = [ // 結果をシミュレーションします
               { header: 'Another lazy node...', items: [] },
               { header: 'A non-lazy node without children' },
               { header: 'A non-lazy node with child nodes', items: [
                 { header: 'hello' },
                 { header: 'world' }
               ]}
           ];
           callback(result); // コントロールに結果を返します
       }, 2500); // 2.5秒のhttpの遅延をシミュレーションします
   }
});

遅延ロードノードを含むツリーには、それぞれのノードにチェックボックスが ないことがある(showCheckboxes プロパティを参照)、 {@link collpaseToLevel} メソッドがまだロードされていない折りたたみ ノードを展開しない、といった制限があります。

nodes

nodes: TreeNode[]

現在ロードされているノードを表すTreeNode オブジェクトの配列を取得します。

selectedItem

selectedItem: any

現在選択されているデータ項目を取得または設定します。

selectedNode

selectedNode: TreeNode

現在選択されているTreeNode を取得または設定します。

selectedPath

selectedPath: string[]

ルートから現在選択されているノードまでのすべてのノードのテキストが 入った配列を取得します。

showCheckboxes

showCheckboxes: boolean

TreeView で、ノードにチェックボックスを追加し、その状態を管理するかどうかを決定する値を 取得または設定します。

このプロパティは、遅延ロードノードがないツリーでのみ使用できます (lazyLoadFunction プロパティを参照)。

checkedItems プロパティとcheckedItemsChanged イベントも参照してください。

このプロパティのデフォルト値は falseです。

totalItemCount

totalItemCount: number

ツリー内の項目の総数を取得します。

静的 controlTemplate

controlTemplate: string

TreeView コントロールのインスタンス化に使用されるテンプレートを取得または設定します。

メソッド

addChildNode

  • addChildNode(index: number, dataItem: any): TreeNode
  • 特定の位置に子ノードを追加します。

    引数

    • index: number

      新しい子ノードのインデックス。

    • dataItem: any

      新しいノードの作成に使用されるデータ項目。

    戻り値 TreeNode

    The TreeNode that was added.

checkAllItems

  • checkAllItems(check: boolean): void
  • ツリーのすべてのチェックボックスをオンまたはオフにします。

    引数

    • check: boolean

      すべてのチェックボックスをオンまたはオフにするかどうか。

    戻り値 void

collapseToLevel

  • collapseToLevel(level: number): void
  • すべてのツリー項目を指定されたレベルまで折りたたみます。

    通常、このメソッドは一度に複数のノードを展開または折りたたみます。 ただし、どのノードにも遅延ロードを実行しないので、 遅延ロードする必要がある折りたたみノードは展開されません。

    引数

    • level: number

      表示する最大ノードレベル。

    戻り値 void

finishEditing

  • finishEditing(cancel?: boolean): boolean
  • 保留中の編集をすべてコミットし、編集モードを終了します。

    引数

    • オプション cancel: boolean

      保留中の編集をキャンセルするかコミットするか。

    戻り値 boolean

    True if the edit operation finished successfully.

getFirstNode

  • getFirstNode(visible?: boolean, enabled?: boolean): TreeNode
  • TreeView の最初のTreeNode への参照を取得します。

    引数

    • オプション visible: boolean

      可視のノード(祖先ノードが折りたたまれていない)だけを返すかどうか。

    • オプション enabled: boolean

      有効なノード(祖先ノードが無効でない)だけを返すかどうか。

    戻り値 TreeNode

getLastNode

  • getLastNode(visible?: boolean, enabled?: boolean): TreeNode
  • TreeView の最後のTreeNode への参照を取得します。

    引数

    • オプション visible: boolean

      可視のノード(祖先ノードが折りたたまれていない)だけを返すかどうか。

    • オプション enabled: boolean

      有効なノード(祖先ノードが無効でない)だけを返すかどうか。

    戻り値 TreeNode

getNode

  • 特定のデータ項目を表すTreeNode オブジェクトを取得します。

    引数

    • item: any

      検索するデータ項目。

    戻り値 TreeNode

loadTree

  • loadTree(preserveOutlineState?: boolean): void
  • 現在のitemsSource のデータを使用してツリーをロードします。

    引数

    • オプション preserveOutlineState: boolean

      ツリーのデータをロードするときにアウトラインの状態を保持するかどうか。

    戻り値 void

onCheckedItemsChanged

onDragEnd

  • dragEnd イベントを発生させます。

    引数

    戻り値 void

onDragOver

onDragStart

onDrop

onFormatItem

onIsCheckedChanged

onIsCheckedChanging

onIsCollapsedChanged

onIsCollapsedChanging

onItemClicked

  • itemClicked イベントを発生させます。

    引数

    戻り値 void

onItemsSourceChanged

onLoadedItems

  • loadedItems イベントを発生させます。

    引数

    戻り値 void

onLoadingItems

  • loadingItems イベントを発生させます。

    引数

    戻り値 boolean

    True if the event was not canceled.

onNodeEditEnded

onNodeEditEnding

onNodeEditStarted

onNodeEditStarting

onSelectedItemChanged

refresh

  • refresh(fullUpdate?: boolean): void
  • ツリーを再作成するためにオーバーライドされます。

    引数

    • オプション fullUpdate: boolean

      内容だけでなくコントロールのレイアウトも更新するかどうかを示します。

    戻り値 void

startEditing

  • startEditing(node?: TreeNode): boolean
  • 特定のTreeNode の編集を開始します。

    引数

    • オプション node: TreeNode

      編集するTreeNode。 指定しない場合は、現在選択されているノードが使用されます。

    戻り値 boolean

    True if the edit operation started successfully.

イベント

checkedItemsChanged

checkedItemsChanged: Event

checkedItems プロパティの値が変更されたときに発生します。

showCheckboxes プロパティおよびcheckOnClick プロパティも参照してください。

dragEnd

dragEnd: Event

マウスまたはキーボードでノードを別の位置にドロップするか、操作をキャンセルして、 ドラッグ/ドロップ操作を終了すると発生します。

dragOver

dragOver: Event

ユーザーがTreeView で1つのノードを他のノードの上にドラッグしているときに発生します。

このイベントは、allowDragging プロパティがtrueに設定されている場合にのみ発生します。

イベントのcancel パラメータをtrueに設定することで、 特定のノードや位置の上にドロップできないようにすることができます。

dragStart

dragStart: Event

ユーザーが行のドラッグを開始するときに発生します。

このイベントは、allowDragging プロパティがtrueに設定されている場合にのみ発生します。

イベントのcancelパラメータをtrueに設定することで、 ノードをドラッグできないようにすることができます。

drop

drop: Event

ユーザーがTreeView でノードをドロップしたときに発生します。

returns

True if the event was not canceled.

formatItem

formatItem: Event

ノードを表す要素が作成されたときに発生します。

このイベントを使用して、表示するノードを書式設定できます。

次の例は、formatItemイベントを使用して、ツリーの新しい項目の右側に "new"バッジを追加します。

import { TreeView } from '@grapecity/wijmo.nav';
var treeViewFmtItem = new TreeView('#treeViewFmtItem', {
    displayMemberPath: 'header',
    childItemsPath: 'items',
    itemsSource: items,
    formatItem: function (s, e) {
        if (e.dataItem.newItem) {
            e.element.innerHTML +=
                '<img style="margin-left:6px" src="resources/new.png"/>';
        }
    }
});

isCheckedChanged

isCheckedChanged: Event

TreeNode.isChecked プロパティの値が変化した後に発生します。

isCheckedChanging

isCheckedChanging: Event

TreeNode.isChecked プロパティの値が変化する前に発生します。

isCollapsedChanged

isCollapsedChanged: Event

TreeNode.isCollapsed プロパティの値が変化した後に発生します。

isCollapsedChanging

isCollapsedChanging: Event

TreeNode.isCollapsed プロパティの値が変化する前に発生します。

itemClicked

itemClicked: Event

ユーザーが項目をクリックするか、[Enter]キーを押して、項目が選択されたときに発生します。

通常、このイベントはナビゲーションツリーで使用されます。selectedItem プロパティを使用して、クリックされた項目を取得します。

itemsSourceChanged

itemsSourceChanged: Event

itemsSource プロパティの値が変化すると発生します。

loadedItems

loadedItems: Event

ツリー項目が生成された後に発生します。

loadingItems

loadingItems: Event

ツリー項目が生成される前に発生します。

nodeEditEnded

nodeEditEnded: Event

TreeNode が編集モードを出た後に発生します。

nodeEditEnding

nodeEditEnding: Event

TreeNode が編集モードを出る前に発生します。

nodeEditStarted

nodeEditStarted: Event

TreeNode が編集モードに入った後に発生します。

nodeEditStarting

nodeEditStarting: Event

TreeNode が編集モードに入る前に発生します。

selectedItemChanged

selectedItemChanged: Event

selectedItem プロパティの値が変化すると発生します。