機能・特長
MultiRow
レイアウトを定義するテンプレートを採用
MultiRowではグリッドのレイアウトをテンプレートと呼ばれる別のオブジェクトに定義できます。グリッドコントロールは割り当てられたテンプレートとデータソースを元に実行時に入力可能な表画面を作成します。テンプレートはヘッダ、フッタおよび「行」のセクションで構成され、各セクションにセルを配置することでレイアウトをデザインします。行のレイアウトはグリッドの設定に合わせて繰り返し表示されます。
自由自在のレイアウト
MultiRowはセルの位置やサイズを自由に調整してテンプレート上に配置できます。配置作業はGUI操作のテンプレートデザイナで視覚的に行えます。これにより1レコード複数行の一覧画面を容易に実現し、多段にわたる明細行をもつ伝票のようなレイアウトもノンコーディングで実現します。さらに、テンプレートは左に90度の回転が可能なため、行と列を入れ替えた形での設計に対応できます。作業工程図やスケジュール表といった時系列データを水平方向に展開する際に非常に効率的です。
グリッドに求められる機能の充実
列の表示/非表示、列幅の自動調整、セルの自動マージ、ソート、フィルタリングといったグリッドに求められる機能が充実しています。データの出力機能としては、CSV形式のエクスポートや印刷機能をサポートしています。印刷機能では、縮尺指定や印刷プレビューといった基本機能はもちろん、セル単位での改行位置指定、指定したページの印刷、透かしの印刷、空白行の印刷を行うことが可能です。
SPREADの外観を再現
SPREADのデフォルトスタイルに近い外観を設定できます。
セルを選択したときの背景色や文字色、選択したセルに関連するヘッダのハイライト表示、ソートやフィルタリングのアイコンなど、SPREADのような外観を一括で設定できます。SPREADの外観スタイルが設定された各部分は個別にスタイルを変更することができるので、目的にあわせてスタイルのカスタマイズが可能です。MultiRowとSPREADの外観を統一することで、同じアプリケーションで2つの製品を併用しても違和感なく使用できます。
さまざまなセル型を提供
MultiRowでは、標準的なテキスト型セルや数値型セル、コンボボックス型セルなどに加えて、付箋型セル、シェイプ型セル、リストラベル型セルといった伝票入力画面でも活用できるセル型を提供します。また、入力支援機能を提供するInputManCell、バーコードやカレンダーなどの情報を表示できるPlusPakCellも提供するので、要件に合わせたセル型を利用できます。
タッチ機能
MultiRowは入力デバイスの種類を自動判別しタッチデバイスでもマウス操作でも、ペン入力でも快適な操作性を提供します。タッチ操作によるスピン、ドロップダウン、スクロール、文字選択、コンテキストメニューの表示といった基本操作に対応しています。さらに、タッチ操作専用のツールバーやタッチキーボードでの入力をサポートする機能も備えており、Windows 8以降のタブレット型PC環境に最適化したアプリケーションの開発も容易です。
ノンコーディングでタッチ処理を最適化
スワイプによるグリッドのスクロール、ピンチ操作での拡大/縮小、タップでドロップダウンといった一般的なタッチ操作に対応していますので開発者は特に入力デバイスの種類を意識する必要はありません。 また、各セル型についてもタッチ操作時にはタッチに適した表示を、マウス操作時にはマウスに適した表示を行います。
タッチ操作を快適にするUI部品
指先でセルを選択する際にも扱いやすいよう、グリッパーと呼ばれる選択ハンドルを表示します。グリッパーを任意の方向にスワイプするとセルの選択範囲を変更することができます。また、テキストボックス系のセル型※ではセル編集時の文字列操作にもグリッパーを表示します。選択したセルに対して行う処理をタッチ専用のツールバーに割り当てることができます。タッチツールバーにはセル内容のコピーや切り取り、貼り付け、削除といった基本的な処理はあらかじめ組み込まれています。また、InputManCellではセル編集時の文字列操作用のタッチツールバーを提供しています。
※ TextBoxCell、MaskedTextBoxCell、FilteringTextBoxCellおよびInputManCell
タッチキーボードの制御
MultiRowではタッチキーボードの表示/非表示の切り替えや、表示されるタッチキーボードの種類(ひらがな入力、数字入力など)を設定できます。物理キーボードの使えないタブレットPCを対象としたアプリケーションでもユーザーに配慮した画面を設計できます。
住所検索機能
InputManCellの郵便番号入力セル、住所入力セルは「JPAddress for Windows Forms 注1」の住所情報検索機能を利用して、住所情報の入力補助機能を提供します。郵便番号入力セルは、入力した郵便番号から住所データを検索し、指定したセルに自動入力できます。また、住所入力セルは、候補リストから都道府県名、市区町村名を選択することで、住所を絞り込みながら入力できます。
※ 住所検索機能を利用するには、「JPAddress for Windows Forms」のインストールが必要ですが、SP1以降は「InputManPlus for Windows Forms」の開発ライセンスが不要です。アップデートページより「JPAddress for Windows Forms 2.0J」のインストーラーを入手してご利用ください。
注1:「JPAddress for Windows Forms」はInputManPlus for Windows Formsに同梱されている住所検索ライブラリです。詳細は製品情報ページをご覧ください。
多彩なスタイル
セルごとに罫線や背景グラデーションなどの外観スタイルを設定できます。動的な外観スタイルの変更にも対応しています。セル選択時、編集時、マウスホバー時、無効なセルなど実行時のセルの状態に応じて前景色と背景色をそれぞれ設定可能。対話的な操作性をエンドユーザーに提供できます。罫線は角を丸める角丸罫線、斜め線を描画するクロス罫線、凹凸を表現する3D罫線など、表画面に求められる罫線を網羅しており、エンドユーザーが親しみやすい表画面を提供できます。また、セルの背景色や罫線を特定の条件や名前で指定できます。たとえば、マイナスの数値を自動的に赤い文字色で表示したり、指定した基準を満たさない値を別の背景色で強調したりできます。
名称 | クラス | 機能 |
---|---|---|
通常のセルスタイル | CellStyle | 個々のセルに単一のスタイルを適用するシンプルなスタイル。 |
条件付きセルスタイル | ConditionalCellStyle | 指定された条件に応じて適用するスタイル。条件は組み込まれているものから選択する。 |
名前付きセルスタイル | NamedCellStyle | テンプレートによって管理される共通のスタイル。任意の名前でスタイルを指定する。 |
結合セルスタイル | CombinedCellStyle | 任意のスタイル(複数可)を結合して適用するスタイル。このスタイルは他の種類のスタイルを含むことができる。 |
ダイナミックセルスタイル | DynamicCellStyle | ユーザー定義の条件に応じて適用するスタイル。条件は開発者がコーディングで指定する。 |
セル単位の値の検証機能
コントロールのイベントによる値の検証に加えて、オブジェクトによる値の検証がセル単位で行えます。デザイナからマウス操作だけで入力値の検証ルールを定義できます。
- 値の範囲
- 必須リスト
- 型
- 除外リスト
- 値の比較
- セルの比較
- 対になる文字
- サロゲート文字
- 正規表現
- 文字列の比較
- 文字列の長さ
- エンコード形式
- 書式
- ユーザー定義
生産効率を高めるさまざまな機能
MultiRowには開発生産性を高める各種機能を備えています。ユーザー定義セルの作成はWindowsフォームでUserControlを利用する場合と同じように、デバッグ中のプロジェクトでセルの定義からツールボックスへの登録までが可能です。また、基本的なテンプレートを対話形式で作成できるウィザードや、テンプレート上のセルの位置やサイズ、スタイルを保持したままセルの型情報だけを変更できるセルの置換機能など、レイアウト設計の生産効率を高めるさまざまなUIを提供します。
高い柔軟性
デザイナで作成されたテンプレートは、フォームをデザインした場合と同じようにVisual BasicやC#のソースコードとして保持されます。フォームのソースコードと同じ方法で、デバッグやチーム開発での共有、管理が可能です。組み込みのセルを継承してユーザー定義のセルを作成し、複数のプロジェクト間で再利用することもできます。プロジェクトの拡大や長期のメンテナンスに耐えられる柔軟性が提供されています。また、Windows標準機能のリモートデスクトップ接続を使用したときの動作もサポートします。
標準コントロールからの置き換え
MultiRowはADO.NETによるデータ連結に対応しており .NET Frameworkの標準コントロールと同様に操作できます。セルの編集やイベントにおいて標準コントロールとの互換性を重視するインタフェースを採用しているため、DataGridViewやTextBoxと同様の操作感覚でMultiRowを使いこなすことができます。また、DataGridViewのデザインをGcMultiRowのテンプレートに変換する機能を提供しており、レイアウトのスムーズな置き換えが可能です。
CalendarGrid
日付をグリッド上に表示
CalendarGridは、1日のレイアウトをテンプレートとして扱い、そのテンプレートをCalendarGridコントロールに日付単位で繰り返し表示します。1日のレイアウトは、行と列をベースにしたセルで構成されているため、グリッド上に日付を設定したようなカレンダーを作成できます。デザイナを使用すればExcelを操作するような感覚で簡単に1日のレイアウトを設計できます。また、CalendarGridは休日や曜日ごとのスタイル設定や日付表示の制御機能を提供します。CalendarGridはカレンダー専用のグリッドなので、グリッド上に日付を表示させる処理を実装する必要はありません。
カスタマイズ性の高いレイアウト機能
CalendarGridは4パターンのカレンダー表示形式を用意しています。
表示形式 | 説明 |
---|---|
月スタイル | 1日の予定を月単位で表示します。複数の月を並べて表示できます。 |
週スタイル | 1日の予定を週単位で表示します。表示する週数や土日に表示/非表示を設定できます。 |
複数列スタイル | 週や曜日ではなく日付ベースで折り返し表示できます。「5のつく日」や特定の日数ごとに折り返して複数列の表示ができます。また、日付の展開方向を垂直または水平方向に設定できます。 |
リストビュースタイル | 垂直または水平方向に日付を展開して表示します。プロジェクトの工程表などでなじみのあるカレンダー画面を開発できます。 |
開発者は、この4つの表示形式のいずれかと1日のレイアウトを組み合わせることで、さまざまなカレンダーのレイアウトを実現できます。
Excel感覚で操作できるデザイナ
CalendarGridの大きな特長はカレンダーを構成する1日のレイアウトを自由に設計できることです。この1日のレイアウトはCalendarGridデザイナを利用することで簡単に設計することができます。1日のレイアウトは行と列で構成されているので、CalendarGridデザイナを利用すればExcelを操作する感覚で行列の追加、セルの結合、セルの罫線や背景色などのスタイルを簡単に設定できます。
多彩なセルのスタイル設定
セルごとに背景色や文字色、罫線のスタイルを設定できます。また、セルの状態が編集/非編集、選択時や無効時の場合にそれぞれの背景色と文字色を設定できます。また、セルのスタイルはセルごとの設定はもちろん、曜日や休日を条件に設定することもできます。
ヘッダとフッタ
CalendarGridは日付を表示する領域と、ヘッダ・フッタ領域で構成されます。ヘッダ・フッタ領域には、カレンダーのタイトルの追加、選択している日付を移動するナビゲーションボタンなどを配置できます。
日本固有の日付書式と入力制御機能
セルごとに設定できる日付書式は、.NET Framework互換書式、InputMan互換書式、CalendarGrid独自書式の3つの書式を提供します。既存のソースコードとの互換性、和暦や六曜など日本固有の表示など、あらゆる要件にあわせて日付書式を設定することができます。また、CalendarGridでは強力な入力支援機能を備える「InputMan for Windows Forms」コントロールをベースにしたInputManCellを内蔵します。ひらがなだけの入力やサロゲートペア文字の入力制限、バイト単位での文字数制限など、セルの入力に対して細やかな設定が可能です。
マルチタッチ機能に対応
CalendarGridは入力デバイスの種類を自動判別しタッチデバイスでもマウス操作でも、ペン入力でも快適な操作性を提供します。タッチ操作によるスピン、ドロップダウン、スクロール、文字選択、コンテキストメニューの表示といった基本操作に対応しています。さらに、タッチ操作専用のタッチキーボードでの入力をサポートする機能も備えており、Windows 8以降のタブレット型PC環境に最適化したアプリケーションの開発も容易です。