バージョン

WinGrid 2005.2

固定行のサポート

固定行機能はグリッドの上部または下部に行を固定(フリーズ)できるので、グリッドが垂直にスクロールしたときに固定行が画面の外にスクロールしません。固定行はルート バンドでサポートされます。詳細については、 「改良された行レイアウトデザイナの使用」を参照してください。

次の画像では 3 行を上部に固定しています。行は下部に固定することもできます。

Whats New UltraWinGrid 2005 2 01.png

固定フィルター行のサポート

フィルター行は、列ヘッダ内において行のフィルタリングに使用される固定行です。フィルター行機能によって、フィルタリングに用いる値を入力できるフィルター行を表示できます。フィルター行のセルに入力する値はフィルター オペランドです。フィルター行にはフィルター演算子を選択するための UI も指定できます。詳細については、 「フィルター行機能の使用」を参照してください。

次の画像はフィルター行のある UltraGrid を示しています。このフィルター行では、オペランドの左側で演算子ユーザーインターフェイスが有効になっています。クリックすると、フィルター演算子ドロップダウンが表示され、演算子を選択できます。行セレクタ内のボタンは、すべての列のフィルターをクリアするボタンです。

Whats New UltraWinGrid 2005 2 02.png

次の画像は、オペランドの上にフィルター演算子 UI のあるフィルター行を示しています。

Whats New UltraWinGrid 2005 2 03.png

固定追加行のサポート

この機能は Microsoft Outlook における追加行の動作をエミュレートします。注目すべき点は追加行が固定できることです。追加行を固定した場合、他の行をスクロールしても追加行はスクロールされません。Microsoft Outlook では追加行は上部に表示されますが、UltraWinGrid では固定追加行を行コレクションの先頭または最後に表示できます。この機能を簡単に使えるようにするため、Override の AllowAddNew に関連付けられている既存の AllowAddNew 列挙体に対して、FixedAddRowOnTop メンバと FixedAddRowOnBottom メンバが追加されました。これらの列挙体メンバは、UltraGrid をスクロールしても追加行がスクロールされないように固定される点で、既存の TemplateOnTop および TemplateOnBottom メンバとは異なります。詳細については、 「テンプレート追加行を固定に設定」を参照してください。

次の画像は、固定追加行を行コレクションの先頭に表示した場合を示します。スクロールバーの位置に注目してください。上の方の行はスクロールされて見えなくなっていますが、固定追加行は常に表示されたままです。

Whats New UltraWinGrid 2005 2 04.png

固定追加行を行コレクションの最後に表示することもできます。

Whats New UltraWinGrid 2005 2 05.png

グループ行での集計

UltraGrid はまた、集計機能を拡張するためにグループ行内の集計表示を列に揃えています。これまで、グループ行内の集計表示はグループ行説明テキストに集計を付加していました。詳細については、 「グループ行の集計の分離と配置」を参照してください。

次の画像はグループ行のある UltraGrid を示しています。グループ行の集計が、対応する列に揃えて表示されています。また、集計は別の外観を持つ独自の UI エレメントの中にもあります。

Whats New UltraWinGrid 2005 2 06.png

また UltraGrid はグループ行コレクションの集計フッタを表示できるようになりました。これまでは、グループ行コレクションは集計フッタを表示しませんでした。詳細は、 「すべてのグループ行に対する集計フッタを表示」を参照してください。

後方互換性を維持するためには、新規の SummaryDisplayArea プロパティを Override オブジェクトか SummarySettings オブジェクトに設定しておかないと、この新規の集計表示機能を利用できません。

先頭または最後における固定集計

UltraGrid は、列ヘッダ領域の先頭か最後にある固定領域に、集計を表示できるようになりました。この機能はルート バンドでサポートされ、固定行機能と同様に動作します。詳細については、 「非スクロール集計を表示」を参照してください。

次の画像は、先頭に固定集計領域を持つ UltraGrid を示しています。スクロールバーの位置に注目してください。先頭の方の行はスクロールされて見えなくなっていますが、集計領域は常に表示されたままです。

Whats New UltraWinGrid 2005 2 07.png

次の画像は、最後に固定集計領域を持つ UltraGrid を示しています。最後の方の行はスクロールされて見えなくなっていますが、集計領域は常に表示されたままです。

Whats New UltraWinGrid 2005 2 08.png

新しいデフォルトの外観

開発者がデザインタイムに WinGrid を作成すると、グリッドは自動的に新しいより現代的なルック アンド フィールを帯びます。このルック アンド フィールはプリセット ファイルで指定します。開発者は、デザインタイムに作成される新規の WinGrid すべてにプリセットが適用されるように指定できます。このオプションは WindGrid デザイナで利用できます。詳細については、 「デフォルトのデザイン タイムの外観」を参照してください。

Whats New UltraWinGrid 2005 2 10.png

グリッドを埋めるために最後の列を拡張

これまでの自動調整機能ではバンドの列すべてのサイズを変更して表示領域に収まるようにしました。自動調整 – 最後の列を拡張機能はこの機能を拡張しており、別の自動調整モードを提供します。列全部のサイズを変更するのではなく、最後の表示列のサイズを変更して表示領域に収まるようにします。詳細については、 「AutoFitStyle プロパティを使用して列を自動調整」を参照してください。

XSD スキーマのサポート

UltraGrid では、XML スキーマ定義(XSD)から制約を読み込んでグリッド内のデータに制約を適用できるようになりました。これらの制約はグリッドのバンドと列の両方に適用されます。バンドレベルの制約には、バンドに許可する行数などがあります。列レベルの制約には、列のセルに許可するデータの制限などがあります。XSD から読み込まれる各制約には、UltraGrid 内の該当するサブオブジェクトに関するプロパティがあります。詳細については、 「XSD スキーマで定義された制約の実施(パート 4/4)」を参照してください。

RegexPattern を列クラスに追加

UltraGrid 列データは、与えられた正規表現を基に制限できるようになりました。この正規表現は XSD スキーマから抽出するか、開発者が手作業で指定できます。開発者が列の正しい正規表現を作成できるように、新しい UITypeEditor が RegexPattern プロパティに割り当てられました。このデザインタイム機能によって、正規表現を任意のテスト データに対してテストし、そのテスト結果を表示できます。詳細については、 「正規表現エディタの使用」を参照してください。

この新しいクラス、RegexUITypeEditorは、将来、他のコントロールが利用できるように Win アセンブリに追加されました。以下は新しいデザインタイム機能の画像です。

Whats New UltraWinGrid 2005 2 09.png

上記のスクリーンショットは、米国のほとんどの電話番号に一致する単純な正規表現です。ユーザーは正規表現とテスト データ(電話番号を含む)を入力しました。[一致を検索] ボタンがクリックされた後、リスト ボックスにはテスト データ内にある電話番号が取り込まれました。ユーザーがリストボックス内の電話番号のひとつをクリックすると、テスト データのテキスト ボックスでは該当するテキストを強調表示しました。ユーザーが無効な正規表現を入力すると、メッセージ ボックスが現れて、ユーザーに対して問題が発生したこと、この正規表現が正しく解析できなかった理由を警告します。

行セレクタ内に行番号を表示可能

行番号を行セレクタに表示できます。WinGrid の Override RowSelectorNumberStyle プロパティの行番号は、フィルター行(表示行)、すべての行、または基本の IBindingList における行の発生順序から作ることができます。詳細については、 「行セレクタで行番号を表示」を参照してください。

次の画像は、行番号機能が有効な UltraGrid です。

Whats New UltraWinGrid 2005 2 10.png

特殊行セパレータ

SpecialRowSeparatorUIElement は、ヘッダ、フィルター行、固定追加行、固定集計フッタ、固定行、非固定行を相互に分離する UI エレメントを提供します。詳細については、 「特殊行セパレータの表示」を参照してください。

次の画像は、ヘッダ、フィルター行、テンプレート追加行の後ろに表示される特殊な行セパレータを示しています。

Whats New UltraWinGrid 2005 2 11.png

グループ分割動作を制御する新規のプロパティ

この機能を使うと、開発者は列内に見つかったデータの特定の面を基にして UltraGrid がグループ行を作成することを簡単に指定できます。たとえば、列内のすべての名前について名前の最初の文字を基にグループ化するようグリッドに指示できます。あるいは、日付値の月部分を基にグループを作成するようグリッドに指示することも可能です。詳細については、 「グループ化された行のインデントの構成」を参照してください。

グループ展開オプション

この機能によってプログラマは、エンド ユーザーによるグループ行の展開方法を指定できます。ひとつのオプションは現在のデフォルトの技法を使用します。これは、展開インジケータを使用するかグループ行自体に対するダブルクリックによってグループ行を切り替える方法です。2 つ目は展開インジケータを削除してエンドユーザーにグループ行をダブルクリックすることのみを許可します。3 つ目は展開機能をすべて無効にする方法です。この最後のオプションを使う場合、エンド ユーザーがある列上で行をグループ化するとき、グループ行をすべて自動的に展開することが必要になります。詳細については、 「グループ行の展開方法の指定」を参照してください。

グループ行インデント

この機能によってプログラマは、グループ行のインデントを指定できます。プロパティの値はピクセル数で、バンドのグループ行から左側へのオフセットを表します。詳細については、 「グループ行をインデント」を参照してください。

グループ行展開インジケータのインデント

この機能によってプログラマは、バンドのグループ行の展開インジケータに対するピクセルオフセットを指定できます。この機能を新しいグループ行のインデント機能と連携して使用すると、バンドのグループ行すべてをコントロールの左端に揃えることが可能になり、グループ行展開インジケータの相対位置によって対象グループの入れ子関係を示すことができます。詳細については、 「グループ行展開インジケータをインデント」を参照してください。

編集時にすべてのセル テキストを選択

EditAndSelectText によってプログラマは、セルのクリックでそのセルを編集モードに置き、そのセル内のテキストを選択するかどうかを指定できます。詳細については、 「セルクリック時のセル動作の指定」を参照してください。

'ここをクリックして行を追加してください' テキストプロパティ

Override の TemplateAddRowPrompt プロパティを設定することで、テンプレート追加行にプロンプトを表示できるようになりました。

And ではなく Or フィルタリングのサポート

ColumnFiltersCollection 上の LogicalOperator プロパティには、'OR' を設定して列フィルター間で論理演算を実行できるようになりました。詳細については、 「OR 論理演算子を使用した複数列でのフィルタリング」を参照してください。

新規の行レイアウト デザイナ

開発者は、使いやすく直感的な新規のドラッグ アンド ドロップ デザイナ インタフェースを使用してバンドの行レイアウトをデザインおよび保存できます。列は、使用可能な列のリスト(並べ替え可能)とグリッド デザイナとの間でドラッグ アンド ドロップできます。同様に RowLayout 自体内でドラッグ アンドドロップできます。各種ハンドルを使用することで、列スパンおよび行スパンの直感的なサイズ変更が可能です。Office2003 の新しいルック アンド フィール、拡張されたデザイン画面、広範なツールチップ ヘルプ、すぐに使えるコンテキスト メニュー コマンド、キーボード コマンドなどが装備されたことで、豊富な行レイアウトデザイン機能を実現すると共に、デザイン作業を簡単で直感的、かつ論理的に進めることができます。詳細については、 「改良された行レイアウト デザイナの使用」を参照してください。

Whats New UltraWinGrid 2005 2 12.png

HeaderStyle プロパティと RowSelectorStyle プロパティ

このプロパティで列ヘッダと行セレクタの外観を指定できます。詳細については、 「列ヘッダおよび行セレクタのスタイルを変更」を参照してください。

ButtonStyle プロパティ

このプロパティで UltraGrid 内のボタンの外観を指定できます。このプロパティの影響を受けるボタンは、セル内と [AddNew] ボックス内のボタンです。詳細については、 「ボタンのスタイルを設定」を参照してください。

行、セル、ヘッダなどの新規の DoubleClick イベント

DoubleClickRow イベントは次の場合に発生します。

  • セル周囲の行領域をダブルクリック(CellSpacing is > 0 の場合など)

  • セルをダブルクリック

  • 行セレクタをダブルクリック

  • グループ行をダブルクリック

  • 行プレビュー領域をダブルクリック

  • テンプレート追加行をダブルクリック

  • フィルター行をダブルクリック

EventArgs のプロパティ

  • ダブルクリックされた行への参照

  • クリックされた行の領域を示す 'RowArea' 値

public enum RowArea
{
        GroupByRowArea,
        RowAndCellArea,
        RowPreviewArea,
        RowSelectorArea
}

DoubleClickCell イベントは次の場合に発生します。

  • セルをダブルクリック

EventArgs のプロパティ

  • ダブルクリックされたセルへの参照

DoubleClickHeader イベントは次の場合に発生します。

  • 列、グループ、またはバンドヘッダをダブルクリック

EventArgs のプロパティ

  • ダブルクリックされた HeaderBase への参照

新規のフィルター演算子

バージョン 5.2 で次のような新規のフィルター演算子が追加されました。

既存:

  • Equals - 2 つの値が等しいかどうかをテストします。

  • NotEquals - 2 つの値が等しくないかどうかをテストします。

  • LessThan - 列の値が特定の値より小さいかどうかをテストします。

  • LessThanOrEqualTo - 列の値が特定の値以下かどうかをテストします。

  • GreaterThan - 列の値が特定の値より大きいかどうかをテストします。

  • GreaterThanOrEqualTo - 列の値が特定の値以上かどうかをテストします。

  • Like - 比較値(ワイルドカードを含む文字列)に対して列の値のワイルドカード比較を実行します。

  • Match - 比較値(正規表現文字列を含む)に対して列の値の正規表現比較を実行します。

  • NotLike - Like の逆。

5.2 の新規:

  • DoesNotMatch - Match の逆。

  • StartsWith - セルの値がオペランドで始まるかどうかをテストします。

  • DoesNotStartWith - StartsWith の逆。

  • EndsWith - セルの値がオペランドで終わるかどうかをテストします。

  • DoesNotEndWith - EndsWith の逆。

  • Contains - セルの値がオペランドを含むかどうかをテストします。

  • DoesNotContain - Contains の逆。

ApplyPreset メソッド

ApplyPresetFromXML メソッドまたは ApplyPresetFromBinary メソッドのいずれかを、適当なファイルを指定してランタイムに呼び出せます。新規の設定を適用する前に既存のプリセット可能な設定をリセットするかどうかは、2 番目の引数で決まります。詳細については、 「ランタイムにプリセットを適用」を参照してください。

ヘッダ内のテキストの折り返し

列ヘッダは自動的にキャプション テキストを折り返し、ヘッダの高さを大きくしてキャプションが入るようにします。詳細については、 「ヘッダのテキストの折り返し」を参照してください。