constructor(element: any, options?: any): GroupPanel
GroupPanelクラスの新しいインスタンスを初期化します。
The DOM element that hosts the control, or a CSS selector for the host element (e.g. '#theCtrl').
The JavaScript object containing initialization data for the control.
グリッドデータのフィルタリングに使用するFlexGridFilter を取得または設定します。
このプロパティを有効なフィルタに設定すると、グループ記述子は グループに関連付けられているフィルタ条件を表示および編集するために 使用できるフィルタアイコンを表示します。
この GroupPanel に接続している FlexGrid を取得または設定します。
グリッドをパネルに接続すると、グリッドのデータソースで定義されているグループがパネルに表示されます。 ユーザーはグリッド列をパネルにドラッグして新しいグループを作成できます。 また、パネル内でグループをドラッグしてグループ化の順序を変更したり、 パネルの項目を削除することによってグループを削除することもできます。
ユーザーが列をグループにドラッグしたときにグループの説明を作成するために使用されるGroupDescription作成関数を取得または設定します。
たとえば、次のコードは、日付を年ごとにグループ化するgroupDescriptionCreator関数を定義します。
```typescript thePanel.groupDescriptionCreator = (prop: string) => { switch (prop) { case 'date': return new PropertyGroupDescription(prop, (item, prop) => { return Globalize.formatDate(item[prop], 'yyyy'); }); case 'sales': return new PropertyGroupDescription(prop, (item, prop) => { let value = item[prop]; if (value > 50000) return 'High'; if (value > 25000) return 'Medium'; return 'Low'; }); } return null; // デフォルト } ```
グループ化列をオーナーグリッドで非表示にするかどうかを示す値を取得または設定します。
FlexGrid では行ヘッダにグループ化情報が表示されるので、グループ化列を表示したままにすると情報が重複するため、通常はグループ化列を非表示にすることを推奨します。
このプロパティのデフォルト値は**true**です。
コントロールが無効かどうかを判定する値を取得または設定します。
無効化されたコントロールは、マウスイベントやキーボードイベントを取得できません。
許可されるグループの最大数を取得または設定します。
このプロパティを-1に設定すると、必要なグループを作成できます。 ゼロに設定すると、グループ化を行うことがができません。
このプロパティのデフォルト値は**6**です。
グループがないときにコントロールに表示する文字列を取得または設定します。
このプロパティのデフォルト値はnullです。これにより、コントロールでは、プレースホルダーとして「「グループを作成するにはここに列をドラッグアンドドロップしてください。(Drag and Drop columns here to create groups.)」というローカライズされたバージョンの文字列が使用されます。
このプロパティを必要に応じてカスタム文字列に設定するか、 空の文字列に設定してプレースホルダーメッセージを削除するか、 nullに設定してデフォルトのメッセージを復元します。
コントロールがグループマーカーの要素にドラッググリフを 追加するかどうかを決定する値を取得または設定します。
このプロパティのデフォルト値は**true**です。
Gets or sets a value of the **tabindex** attribute associated with the control.
**tabindex** attribute value can be defined statically for a Wijmo control by specifying it on the control's host HTML element. But this value can't be changed later during application lifecycle, because Wijmo controls have complex structure, and the control may need to propagate this attribute value to its internal element to work properly.
Because of this, to read or change control's **tabindex** dynamically, you should do it using this property.
addEventListener(target: EventTarget, type: string, fn: any, capture?: boolean, passive?: boolean): void
このControl が所有する要素にイベントリスナーを追加します。
コントロールは、アタッチされているリスナーとそのハンドラのリストを保持し、コントロールが破棄されているときにそれらを簡単に削除すること ができます(dispose と removeEventListener メソッドを参照してください)。
イベントリスナーを削除しないと、メモリリークが発生する可能があります。
デフォルトでは passive パラメータはfalseに設定されています。これはイベントハンドラが event.preventDefault() を呼び出すことを意味します。タッチイベントまたはマウスホイールイベントにpassiveハンドラを追加する場合は、このパラメータをtrueに設定するとアプリケーションのパフォーマンスが向上します。
passive イベントリスナーの詳細については、「<a target="_blank" href="https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Improving_scrolling_performance_with_passive_listeners">Improving scrolling performance with passive listeners</a>」を参考してください。
Target element for the event.
String that specifies the event.
Function to execute when the event occurs.
Whether the listener should be handled by the control before it is handled by the target element.
Indicates that the handler will never call preventDefault().
applyTemplate(classNames: string, template: string, parts: Object, namePart?: string): HTMLElement
コントロールの新しいインスタンスにテンプレートを適用し、ルート要素を返します。
このメソッドはテンプレート化されたコントロールのコンストラクターによって呼び出される必要があります。テンプレートのパーツを対応するコントロールメンバにバインドする役割を持ちます。
以下のサンプルコードは、InputNumber コントロールのインスタンスにテンプレートを適用します。 このテンプレートには、'wj-part'属性が'input'、'btn-inc'、および'btn-dec'に設定された要素を含める必要があります。 コントロールのメンバである'_tbx'、'_btnUp'、'_btnDn'には、これらの要素への参照が割り当てられます。
```typescript this.applyTemplate('wj-control wj-inputnumber', templateString, { _tbx: 'input', _btnUp: 'btn-inc', _btnDn: 'btn-dec' }, 'input'); ``````
Names of classes to add to the control's host element.
An HTML string that defines the control template.
A dictionary of part variables and their names.
Name of the part to be named after the host element. This determines how the control submits data when used in forms.
deferUpdate(fn: Function): void
beginUpdate/endUpdateブロック内で関数を実行します。
この関数の実行が完了するまでコントロールは更新されません。 このメソッドは、関数が例外を生成した場合でもendUpdate が呼び出されるようにします。
Function to be executed.
dispose(): void
ホスト要素との関連付けを解除することによってコントロールを破棄します。
dispose メソッドは、addEventListener メソッドによって追加されたイベントリスナーを自動的に削除します。
コントロールを動的に作成および削除するアプリケーションでは、dispose メソッドを呼び出すことが重要です。コントロールを破棄しないと、メモリリークが発生する可能があります。
disposeAll(e?: HTMLElement): void
HTML要素に含まれるすべてのWijmoコントロールを破棄します。
Container element.
getControl(element: any): Control
指定したDOM要素でホストされているコントロールを取得します。
The DOM element that hosts the control, or a CSS selector for the host element (e.g. '#theCtrl').
getTemplate(): string
hitTest(e: MouseEvent | Element): GroupDescription
指定されたマウス位置で、または指定されたHTML要素で表されるGroupDescriptionを取得します。
Element to test.
initialize(options: any): void
指定したオブジェクトからプロパティをコピーしてコントロールを初期化します。
このメソッドを使用すると、各プロパティの値をコードで設定する代わりにプレーンなデータオブジェクトを使用してコントロールを初期化できます。
例:
```typescript 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; // など ```
初期化データは適用時に型チェックされます。初期化オブジェクトに不明なプロパティ名または無効なデータ型が含まれている場合、このメソッドは例外をスローします。
Object that contains the initialization data.
invalidate(fullUpdate?: boolean): void
非同期更新を発生させるため、コントロールを無効にします。
Whether to update the control layout as well as the content.
invalidateAll(e?: HTMLElement): void
指定したHTML要素に含まれるすべてのWijmoコントロールを無効化します。
このメソッドは、コントロールの表示状態やサイズを変更する動的なパネルをアプリケーションで使用している場合に使用します。たとえば、スプリッタ、アコーディオン、およびタブコントロールは通常、その中の要素の表示状態を変更します。この場合、その要素に含まれるコントロールに通知しないと、それらのコントロールが適切に機能しなくなる可能性があります。
これが起こる場合は、動的コンテナーで適切なイベントを処理し、invalidateAllメソッドを呼び出してコンテナー内のWijmoコントロールのレイアウト情報が適切に更新されるようにする必要があります。
Container element. If set to null, all Wijmo controls on the page will be invalidated.
onGotFocus(e?: EventArgs): void
gotFocus イベントを発生させます。
onInvalidInput(e: CancelEventArgs): void
invalidInput イベントを発生させます。
イベントハンドラがイベントをキャンセルした場合、コントロールは無効な入力とフォーカスを保持します。
onLostFocus(e?: EventArgs): void
lostFocus イベントを発生させます。
onRefreshed(e?: EventArgs): void
refreshedイベントを発生させます。
onRefreshing(e?: EventArgs): void
refreshingイベントを発生させます。
refresh(): void
パネルを更新して現在のグループを表示します。
refreshAll(e?: HTMLElement): void
HTML要素で存在するすべてのWijmoコントロールを更新する。
コントロールが時間おいて更新される代わりに直ちに更新されること以外はinvalidateAll メソッドと同様です。
Container element. If set to null, all Wijmo controls on the page will be invalidated.
removeEventListener(target?: EventTarget, type?: string, fn?: any, capture?: boolean): number
このControl が所有する要素にアタッチされている1つまたは複数のイベントリスナーを解除します。
Target element for the event. If null, removes listeners attached to all targets.
String that specifies the event. If null, removes listeners attached to all events.
Handler to remove. If null, removes all handlers.
Whether the listener is capturing. If null, removes capturing and non-capturing listeners.
無効な入力値が検出された場合に発生します。
ユーザーが適切な型に変換できない値、または有効な範囲外の値を入力または貼り付けると、無効な入力が発生する可能性があります。
イベントハンドラがイベントをキャンセルした場合、コントロールは無効なコンテンツとフォーカスを保持するため、ユーザーはエラーを修正できます。
イベントがキャンセルされない場合、コントロールは無効な入力を無視し、元のコンテンツを保持します。
GroupPanel コントロールは、バインドされたFlexGrid コントロールでドラッグ&ドロップによってグループを編集できるUIを提供します。
ユーザーは FlexGrid の列をパネルにドラッグしてグループを作成し、 パネル内でグループを移動してグループ化の順序を変更できます。また、パネルのグループマーカーをクリックして、 グループ列を基準にソートしたり、グループを削除したりすることもできます。
GroupPanel を使用するには、FlexGrid コントロールを含むページにGroupPanelを追加し、パネルのgrid プロパティをFlexGrid コントロールに設定します。
```typescript import { FlexGrid } from '@grapecity/wijmo.grid'; import { GroupPanel } from '@grapecity/wijmo.grid.grouppanel';
// FlexGridを作成します let theGrid = new FlexGrid('#theGrid', { itemsSource: getData(); });
// GroupPanelを追加して、データグループを編集します let thePanel = new GroupPanel('#thePanel', { grid: theGrid, placeholder: 'Drag columns here to create Groups.' }); ```
次の例では、GroupPanel コントロールを使用してOutlookスタイルの グループ化をFlexGrid コントロールに追加する方法を示しています。
{@sample Grid/Grouping/GroupPanel/purejs デモ}