[]
ユーザーがTreeView 内でノードをドラッグアンドドロップできるかどうかを指定する値を取得または設定します。
このプロパティのデフォルト値はfalseです。
ノードが展開されたときに、兄弟ノードを折りたたむかどうかを指定する値を 取得または設定します。
このプロパティは、デフォルトでは trueに設定されています。 通常は、使用していないノードを折りたたんだ方がUIがすっきりするためです。
ユーザーがノードヘッダーをクリックしたときに、 チェックボックスを切り替えるかどうかを指定する値を取得または設定します。
このプロパティのデフォルト値は falseです。これにより、ユーザーがノードヘッダーではなく チェックボックス自体をクリックした場合にのみチェックボックスのオン・オフが切り替わります。
showCheckboxes プロパティと checkedItemsChanged イベントを参照してください。
現在オンに設定されている項目が含まれる配列を取得します。
返される配列には、子を持たない項目だけが含まれます。 これは、親項目のチェックボックスが子項目のオンまたはオフに 使用されるからです。
showCheckboxes プロパティと checkedItemsChanged イベントも参照してください。
次に例を示します。
import { TreeView } from '@mescius/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;
}
});
ノードのチェック状態にバインドする1つ以上のプロパティの名前を取得または設定します。
showCheckboxes プロパティと checkedItemsChanged イベントも参照してください。
各ノードの子項目を含む1つ以上のプロパティの名前を 取得または設定します。
このプロパティのデフォルト値は文字列「items」です。
ほとんどの場合、子項目を含むプロパティは、 ツリーのすべてのデータ項目で同じです。このような場合は、 childItemsPath にその名前を設定します。
ただし、項目のレベルごとに異なるプロパティを使用して 子項目を保存する場合もあります。たとえば、カテゴリ、製品、注文から成る ツリーがあるとします。その場合に、 childItemsPath に次のような配列を設定します。
// カテゴリ、製品、注文のヘッダーがそれぞれ異なります tree.displayMemberPath = [ 'CategoryName', 'ProductName', 'OrderID' ];
ユーザーがノードヘッダーをクリックしたときに、折りたたまれているノードを展開するかどうかを指定する値を取得または設定します。
このプロパティのデフォルト値はfalseです。
このプロパティがfalseに設定されている場合、 ユーザーが展開/折りたたみアイコンをクリックしてノードを折りたたみます。 ノードヘッダーをクリックすると、ノードが選択されていない場合はノードが選択され、 ノードが選択されている場合(および、 isReadOnlyプロパティがfalseに設定されている場合)にノードの編集が開始されます。
expandOnClickプロパティも参照してください。
ノードが無効になっているときに ノードを折りたたむかどうかを決定する値を取得または設定します。
このプロパティのデフォルト値はtrueです。
ノードのビジュアル表現として使用される1つ以上のプロパティの名前を 取得または設定します。
このプロパティのデフォルト値は文字列「header」です。
ほとんどの場合、ノードテキストを含むプロパティは、 ツリーのすべてのデータ項目で同じです。このような場合は、 displayMemberPath にその名前を設定します。
ただし、項目のレベルごとに異なるプロパティを使用して ノードテキストを表す場合もあります。たとえば、カテゴリ、製品、注文から成る ツリーがあるとします。その場合に、 displayMemberPath に次のような配列を設定します。
// カテゴリ、製品、注文のヘッダーがそれぞれ異なります tree.displayMemberPath = [ 'CategoryName', 'ProductName', 'OrderID' ];
ユーザーがノードヘッダーをクリックしたときに、展開されているノードを折りたたむかどうかを指定する値を取得または設定します。
このプロパティのデフォルト値はtrueです。
このプロパティがfalseに設定されている場合、 ユーザーが展開/折りたたみアイコンをクリックしてノードを折りたたみます。 ノードヘッダーをクリックすると、ノードが選択されていない場合はノードが選択され、 ノードが選択されている場合(および、 isReadOnlyプロパティがfalseに設定されている場合)にノードの編集が開始されます。
collapseOnClickプロパティも参照してください。
ツリーがロードされたときに最初のノードを自動的に 展開するかどうかを決定する値を取得または設定します。
このプロパティのデフォルト値は true です。 falseに設定された場合、すべてのノードが折りたたんだ状態で表示されます。
コントロールをホストしているDOM要素を取得します。
ノードの画像のソースとして使用する1つ以上のプロパティの名前を 取得または設定します。
このプロパティのデフォルト値は空の文字列です。これは、ノードに画像が追加されないことを示します。
ノードを展開または折りたたむときにアニメーションを使用するかどうかを示す値を取得または設定します。
このプロパティのデフォルト値はtrueです。
項目をプレーンテキストまたはHTMLに連結するかどうかを示す値を取得または設定します。
このプロパティのデフォルト値はfalseです。
コントロールが無効かどうかを判定する値を取得または設定します。
無効化されたコントロールは、マウスイベントやキーボードイベントを取得できません。
ユーザーがノードのテキストを編集できるかどうかを指定する値を取得または設定します。
isReadOnly プロパティをfalseに設定すると、ノードに直接入力することで ツリーノードのコンテンツを編集することができます。ノードのコンテンツ全体を選択した状態で、 [F2]キーを使用して編集モードに入ることもできます。 次のメソッドとイベントを使用して、編集動作をカスタマイズできます。
メソッド:: startEditing、 finishEditing.
イベント: nodeEditStarting、 nodeEditStarted、 nodeEditEnding、 nodeEditEnded。
このプロパティのデフォルト値は trueです。
現在、コントロールがタッチイベントを処理しているかどうかを示す値を取得します。
コントロールが現在更新中かどうかを示す値を取得します。
TreeView 項目を含む配列を取得または設定します。
TreeView itemsSource 配列は一般に、 子項目を含む項目から成る階層構造を持ちます。項目の深さに制限はありません。
たとえば、次の配列は、それぞれが2つの子ノードを持つ 3つの最上位ノードを含むツリーを生成します。
import { TreeView } from '@mescius/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 は、2つのパラメータとして、展開されるノードと、 データが取得可能になったときに呼び出されるコールバックを 受け取ります。
コールバック関数は、TreeView にノードのロードプロセスが 完了したことを通知します。データのロード時にエラーがあっても、 コールバックは必ず呼び出されます。
次に例を示します。
import { TreeView } from '@mescius/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} メソッドがまだロードされていない折りたたみ ノードを展開しない、といった制限があります。
現在ロードされているノードを表すTreeNode オブジェクトの配列を取得します。
要素内のコントロールを右から左のレイアウトでホストするかどうかを示す値を取得します。
現在選択されているデータ項目を取得または設定します。
現在選択されているTreeNode を取得または設定します。
ルートから現在選択されているノードまでのすべてのノードのテキストが 入った配列を取得します。
TreeView で、ノードにチェックボックスを追加し、その状態を管理するかどうかを決定する値を 取得または設定します。
このプロパティは、遅延ロードノードがないツリーでのみ使用できます (lazyLoadFunction プロパティを参照)。
checkedItems プロパティとcheckedItemsChanged イベントも参照してください。
このプロパティのデフォルト値は falseです。
コントロールに関連付けられたtabindex属性の値を取得または設定します。
tabindex属性値は、コントロールのホストHTML要素で指定することで、 Wijmoコントロールに対して静的に定義できます。 ただし、Wijmoコントロールは複雑な構造であり、コントロールが正しく機能できるように、属性値を内部要素に伝達する必要があるため、 この値をアプリケーションのライフサイクルの後半で変更することはできません。
そのため、コントロールのtabindexを動的に読み取ったり変更したりするには、このプロパティを使用して行う必要があります。
ツリー内の項目の総数を取得します。
TreeView コントロールのインスタンス化に使用されるテンプレートを取得または設定します。
このControl が所有する要素にイベントリスナーを追加します。
コントロールは、アタッチされているリスナーとそのハンドラのリストを保持し、 コントロール が破棄されているときにそれらを簡単に削除すること ができます(dispose と removeEventListener ) メソッドを参照してください)。
イベントリスナーを削除しないと、メモリリークが発生する可能があります。
デフォルトでは passive パラメータはfalseに設定されています。これはイベントハンドラが event.preventDefault() を呼び出すことを意味します。 タッチイベントまたはマウスホイールイベントにpassiveハンドラを追加する場合は、このパラメータをtrueに設定するとアプリケーションのパフォーマンスが向上します。
passive イベントリスナーの詳細については、「Improving scrolling performance with passive listeners」を参考してください。
イベントのターゲット要素。
イベントを指定する文字列。
イベントが発生したときに実行する関数。
リスナーがターゲット要素によって処理される前にコントロールによって処理される必要があるかどうかを示します。
ハンドラーが preventDefault() を呼び出さないことを示します。
コントロールの新しいインスタンスにテンプレートを適用し、ルート要素を返します。
このメソッドは、テンプレート化されたコントロールのコンストラクターによって呼び出される必要があるため、 このメソッドを使用することができません。 また、テンプレートのパーツを対応するコントロールのメンバに連結します。
以下のサンプルコードは、InputNumber コントロールのインスタンスにテンプレートを適用します。 このテンプレートには、'wj-part'属性が'input'、'btn-inc'、および'btn-dec'に設定された要素を含める必要があります。 コントロールのメンバである'_tbx'、'_btnUp'、'_btnDn'には、これらの要素への参照が割り当てられます。
this.applyTemplate('wj-control wj-inputnumber', templateString, {
_tbx: 'input',
_btnUp: 'btn-inc',
_btnDn: 'btn-dec'
}, 'input');
@param classNames コントロールのホスト要素に追加するクラスの名前。 @param template コントロールのテンプレートを定義するHTML文字列。 @param parts パーツ変数とその名前のディクショナリー。 @param namePart ホスト要素にちなんで名付けられたパーツの名前。 これにより、コントロールがフォームで使用されたときにデータをどのように送信するかが決まります。
次にendUpdate が呼び出されるまで通知を中断します。
ツリーのすべてのチェックボックスをオンまたはオフにします。
すべてのチェックボックスをオンまたはオフにするかどうか。
すべてのツリー項目を指定されたレベルまで折りたたみます。
通常、このメソッドは一度に複数のノードを展開または折りたたみます。 ただし、どのノードにも遅延ロードを実行しないので、 遅延ロードする必要がある折りたたみノードは展開されません。
表示する最大ノードレベル。
このコントロールにフォーカスのある要素が含まれているかどうかをチェックします。
beginUpdate/endUpdate ブロック内で関数を実行します。
この関数の実行が完了するまでコントロールは更新されません。 このメソッドは、関数が例外を生成した場合でも endUpdate が呼び出されるようにします。
実行する関数。
ホスト要素との関連付けを解除することによってコントロールを破棄します。
dispose メソッドは、addEventListener メソッドによって 追加されたイベントリスナーを自動的に削除します。
コントロールを動的に作成および削除するアプリケーションでは、 dispose メソッドを呼び出すことが重要です。 コントロールを破棄しないと、 メモリリークが発生する可能があります。
beginUpdate の呼び出しによって中断された通知を再開します。
保留中の編集をすべてコミットし、編集モードを終了します。
保留中の編集をキャンセルするかコミットするか。
編集操作が正常に終了した場合はTrue。
このコントロールにフォーカスを設定します。
可視のノード(祖先ノードが折りたたまれていない)だけを返すかどうか。
有効なノード(祖先ノードが無効でない)だけを返すかどうか。
可視のノード(祖先ノードが折りたたまれていない)だけを返すかどうか。
有効なノード(祖先ノードが無効でない)だけを返すかどうか。
オブジェクトが指定されたプロパティを持つかどうかを判定します。
プロパティの名前。
指定したオブジェクトからプロパティをコピーしてコントロールを初期化します。
このメソッドを使用すると、各プロパティの値をコードで設定する代わりにプレーンなデータオブジェクトを使用してコントロールを初期化できます。
例:
grid.initialize({
itemsSource: myList,
autoGenerateColumns: false,
columns: [
{ binding: 'id', header: 'Code', width: 130 },
{ binding: 'name', header: 'Name', width: 60 }
]
});
// 以下と同等です。
grid.itemsSource = myList;
grid.autoGenerateColumns = false;
// など
初期化データは適用時に型チェックされます。 初期化オブジェクトに不明なプロパティ名または無効なデータ型が含まれている場合、このメソッドは例外を発生します。
初期化データを含むオブジェクト。
非同期更新を発生させるため、コントロールを無効にします。
内容だけでなくコントロールのレイアウトも更新するかどうか。
オブジェクトが別のオブジェクトのプロトタイプチェーンに存在するかどうかを判定します。
プロトタイプチェーンが判定される別のオブジェクト。
現在のitemsSource のデータを使用してツリーをロードします。
ツリーのデータをロードするときにアウトラインの状態を保持するかどうか。
checkedItemsChanged イベントを発生させます。
dragOver イベントを発生させます。
イベントデータを含むTreeNodeDragDropEventArgs。
イベントがキャンセルされなかった場合はTrue。
dragStart イベントを発生させます。
イベントデータを含むTreeNodeEventArgs 。
イベントがキャンセルされなかった場合はTrue。
drop イベントを発生させます。
イベントデータを含むTreeNodeDragDropEventArgs。
formatItem イベントを発生させます。
イベントデータを含むFormatNodeEventArgs。
invalidInput イベントを発生させます。
イベントハンドラーがイベントをキャンセルした場合、コントロールは無効な入力内容とフォーカスを保持します。
isCheckedChanged イベントを発生させます。
イベントデータを含むTreeNodeEventArgs 。
isCheckedChanging イベントを発生させます。
イベントデータを含むTreeNodeEventArgs 。
イベントがキャンセルされなかった場合はTrue。
isCollapsedChanged イベントを発生させます。
イベントデータを含むTreeNodeEventArgs 。
isCollapsedChanging イベントを発生させます。
イベントデータを含むTreeNodeEventArgs 。
イベントがキャンセルされなかった場合はTrue。
itemClicked イベントを発生させます。
itemsSourceChanged イベントを発生させます。
loadedItems イベントを発生させます。
loadingItems イベントを発生させます。
イベントがキャンセルされなかった場合はTrue。
nodeEditEnded イベントを発生させます。
イベントデータを含むTreeNodeEventArgs 。
nodeEditEnding イベントを発生させます。
イベントデータを含むTreeNodeEventArgs 。
イベントがキャンセルされなかった場合はTrue。
nodeEditStarted イベントを発生させます。
イベントデータを含むTreeNodeEventArgs 。
nodeEditStarting イベントを発生させます。
イベントデータを含むTreeNodeEventArgs 。
イベントがキャンセルされなかった場合はTrue。
refreshing イベントを発生させます。
selectedItemChanged イベントを発生させます。
指定されたプロパティが列挙可能かどうかを判断します。
プロパティの名前。
ツリーを再作成するためにオーバーライドされます。
内容だけでなくコントロールのレイアウトも更新するかどうかを示します。
このControl が所有する要素にアタッチされている1つまたは複数のイベントリスナーを解除します。
イベントのターゲット要素。 nullの場合、すべてのターゲットにアタッチされているリスナーが解除されます
イベントを指定する文字列。 nullの場合、すべてのイベントにアタッチされているリスナーが解除されます。
削除するハンドラ。 nullの場合は、すべてのハンドラが削除されます。
リスナーがキャプチャリスナーかどうか。 nullの場合、キャプチャリスナーと非キャプチャリスナーの両方が解除されます。
削除されたリスナーの数。
現在のロケールを使用して文字列に変換された日付を返します。
オブジェクトの文字列表現を返します。
指定されたオブジェクトのプリミティブ値を返します。
HTML要素に含まれるすべてのWijmoコントロールを破棄します。
コンテナー要素。
指定したDOM要素でホストされているコントロールを取得します。
コントロールをホストするDOM要素、またはホスト要素のCSS セレクター(例: '#theCtrl')。
指定したHTML要素に含まれるすべてのWijmoコントロールを無効化します。
このメソッドは、コントロールの表示状態やサイズを変更する 動的なパネルをアプリケーションで使用している場合に使用します。 たとえば、スプリッタ、アコーディオン、およびタブコントロールは通常、 その中の要素の表示状態を変更します。この場合、その要素に含まれるコントロールに通知しないと、 それらのコントロールが適切に機能しなくなる可能性があります。 これが起こる場合は、動的コンテナーで適切なイベントを処理し、 Control.invalidateAll メソッドを呼び出してコンテナー内のWijmoコントロールの レイアウト情報が適切に更新されるようにする必要があります。
コンテナー要素。nullに設定すると、ページ上に存在するすべてのWijmoコントロールが無効化されます。
HTML要素で存在するすべてのWijmoコントロールを更新します。
コントロールが時間おいて更新される代わりに直ちに更新されること以外はinvalidateAll メソッドと同様です。
コンテナー要素。nullに設定すると、ページ上に存在するすべてのWijmoコントロールが無効化されます。
checkedItems プロパティの値が変更されたときに発生します。
showCheckboxes プロパティおよびcheckOnClick プロパティも参照してください。
マウスまたはキーボードでノードを別の位置にドロップするか、操作をキャンセルして、 ドラッグ/ドロップ操作を終了すると発生します。
ユーザーがTreeView で1つのノードを他のノードの上にドラッグしているときに発生します。
このイベントは、allowDragging プロパティがtrueに設定されている場合にのみ発生します。
イベントのcancel パラメータをtrueに設定することで、 特定のノードや位置の上にドロップできないようにすることができます。
ユーザーが行のドラッグを開始するときに発生します。
このイベントは、allowDragging プロパティがtrueに設定されている場合にのみ発生します。
イベントのcancelパラメータをtrueに設定することで、 ノードをドラッグできないようにすることができます。
ユーザーがTreeView でノードをドロップしたときに発生します。
ノードを表す要素が作成されたときに発生します。
このイベントを使用して、表示するノードを書式設定できます。
次の例は、formatItemイベントを使用して、ツリーの新しい項目の右側に "new"バッジを追加します。
import { TreeView } from '@mescius/wijmo.nav';
var treeViewFmtItem = new TreeView('#treeViewFmtItem', {
displayMemberPath: 'header',
childItemsPath: 'items',
itemsSource: items,
formatItem: function (s, e) {
if (e.dataItem.newItem) {
let img = wijmo.createElement('<img style="margin-left:6px" src="resources/new.png">');
e.element.appendChild(img);
}
}
});
コントロールがフォーカスを取得したときに発生します。
無効な文字が入力されたときに発生します。
ユーザーが入力した値が適切な種類に変換できない値、または有効な範囲外の値を貼り付ける場合、 無効な入力エラーが発生する場合があります。
イベントハンドラーがイベントをキャンセルする場合、 ユーザーがエラーを修正できるように、 コントロールは無効なコンテンツとフォーカスを保持します。
イベントがキャンセルされない場合、コントロールは無効な入力エラーを無視し、 元のコンテンツを保持します。
TreeNode.isChecked プロパティの値が変化した後に発生します。
TreeNode.isChecked プロパティの値が変化する前に発生します。
TreeNode.isCollapsed プロパティの値が変化した後に発生します。
TreeNode.isCollapsed プロパティの値が変化する前に発生します。
ユーザーが項目をクリックするか、[Enter]キーを押して、項目が選択されたときに発生します。
通常、このイベントはナビゲーションツリーで使用されます。selectedItem プロパティを使用して、クリックされた項目を取得します。
itemsSource プロパティの値が変化すると発生します。
ツリー項目が生成された後に発生します。
ツリー項目が生成される前に発生します。
コントロールがフォーカスを失ったときに発生します。
TreeNode が編集モードを出た後に発生します。
TreeNode が編集モードを出る前に発生します。
TreeNode が編集モードに入った後に発生します。
TreeNode が編集モードに入る前に発生します。
コントロールが内容を更新した後で発生します。
コントロールが内容を更新する直前に発生します。
selectedItem プロパティの値が変化すると発生します。
TreeView コントロールは、テキスト、チェックボックス、画像、 または任意のHTMLコンテンツを保持できるTreeNode オブジェクトの階層リストを表示します。
通常、TreeView は、階層として表示すると便利なドキュメントの見出し、 インデックス項目、ディスク内のファイルやディレクトリなどの 情報を表示するために使用されます。
TreeView を作成したら、通常は次のプロパティを設定します。
TreeView コントロールは、次のキーボードコマンドをサポートしています。
次の例では、単純なツリーを作成し、TreeViewの主なプロパティの効果を確認することができます。
デモ