InputMan for ASP.NET 8.0Jで追加された機能および、InputMan for ASP.NET 7.0JからInputMan for ASP.NET 8.0Jの変更点について解説します。
新環境対応
以下の新環境に対応しました。
- Windows 10/Server 2016
- Visual Studio 2015
- .NET Framework 4.6/4.6.1/4.6.2
- Internet Explorer 10/11
マルチブラウザに対応
以下の新環境に対応しました。
Windowsでは、Internet ExplorerのほかMicrosoft EdgeおよびChromeでの動作をサポートします。 さらに、iPadにも対応しiPad搭載のSafari for iOS 8/9での動作も保証します。また、それぞれのクライアント環境に沿ったスタイルで描画されます。
Chromeでの描画スタイル | |
Microsoft Edgeでの描画スタイル | |
iPadでの描画スタイル | |
クラウドへの配置
サーバー環境として、以下のクラウドサーバーへの配置をサポートします。
- Microsoft Azure Virtual Machines
- Amazon EC2
ドロップダウン数値パッド
数値、日付時刻、日付および時刻コントロールからドロップダウンされるオブジェクトに、数値パッドを追加しました。プロパティの設定により、ドロップダウンオブジェクトを選択することが可能です。

詳細については、以下のページを参照してください。
ドロップダウン日付時刻ピッカー
日付時刻、日付および時刻コントロールからドロップダウンされるオブジェクトに、日付時刻ピッカーを追加しました。プロパティの設定により、ドロップダウンオブジェクトを選択することが可能です。

詳細については、以下のページを参照してください。
クライアント側機能の強化
サーバー側機能のほとんどをクライアント側スクリプトにより実現できるようになりました。そのため、サーバー側へポストバックせずにプロパティの変更やイベントの実装ができます。 また、HTML5を使用してリファクタリングされ、クライアント側へのダウンロードサイズも大幅に減少しました。
以下は、1ページにそれぞれのコントロールを50個配置したときのHTMLダウンロードサイズの7.0Jと8.0Jの比較表です。
その他、以下のクライアント側機能を追加しました。
- 文字列の選択・選択解除メソッド(SelectAll、DeselectAllメソッド)
- ふりがな出力時のイベント(ReadingImeStringOutputイベント)
- 検証の実行メソッド(Validateメソッド)
クライアント側機能の詳細やJavaScriptリファレンスは「クライアント側スクリプト」を参照してください。
新コントロールの追加
データ型検証コントロール(GcDataTypeValidator)を追加しました。 入力された文字列のデータ型を検証するコントロールで、Byte、Decimal、DateTime、Integer、TimeSpanのいずれかの型を指定できます。DateTime型が指定されているときは、日付の妥当性チェックも行われます。
SPREADとの連携を強化
7.0Jと同様に検証コントロールを使用して、SPREADセルの入力値を検証でき、エラー発生時には検証アクションを使用して、バルーンチップやアイコン、文字色などわかりやすくエラーやエラーメッセージを通知できます。 データ型検証コントロールでは、日付の妥当性を検証することができるため、SPREADの日付型セルの入力精度を向上させます。
 |
SPREAD for ASP.NET 7.0J/8.0Jのセルを検証することが可能です。 |
また、InputManとSPREADの移行ツールを共通化しました。両製品の旧バージョンを使用したWebアプリケーションを移行する際、一つの移行ツールを一度実行するだけで2製品の移行が可能です。
jQueryの完全対応
7.0Jでは、一部(テキスト、日付、時刻)のコントロールのみjQuery APIに対応していましたが、8.0Jではすべてのコントロールが対応しました。 また、jQuery UIテーマも適用可能です。
詳細については「jQueryの使用」を参照してください。
ウォーターマークの表示
コントロールが未入力のときの代替テキスト(ウォーターマーク)を表示できます。コントロールにフォーカスがある場合とない場合のそれぞれで、別の文字列と文字色を設定できます。また、日付コントロールでは和暦表示できない日付が入力されたとき、数値コントロールでは値がゼロのとき、Nullのときのそれぞれに対しても個別のウォーターマークが表示できます。
詳細については、以下のページを参照してください。
タッチ操作の強化
カレンダーコントロールおよびドロップダウンカレンダーでは、パンによる月や年のスクロールをサポートします。また、このスクロールにはアニメーション効果が適用できます。
詳細については「カレンダーのタッチ操作」を参照してください。
コンテキストメニューの制御
各コントロールに、コンテキストメニューの表示・非表示を切り替えるEnableContextMenuプロパティを追加しました。
コンボコントロールの強化
コンボコントロールでは、以下の強化が行われました。
- オートフィルタ機能に、前方一致、部分一致、大文字・小文字の区別、全角・半角の区別などを設定する検索モードを追加しました。 詳細については「テキストボックスの使い方 ー 項目のオートフィルタ」を参照してください。
- ドロップダウンリストにリサイズ機能を追加しました。ユーザーがリサイズ用のグリッパーをドラッグしてサイズ変更できるようになりました。 詳細については「リストボックスの使い方 - リストボックスのサイズ調整」を参照してください。
ふりがな機能の強化
テキストコントロールのふりがな取得機能を定義するReadingImeStringOutputクラスに、ふりがな出力先の文字種(半角カタカナ、全角カタカナ、ひらがな)を指定するKanaModeプロパティを追加しました。また、ふりがな出力時にはReadingStringOutputイベントが発生し、イベントパラメータからもふりがなが取得できるようになりました。
小数点が含まれる数値のペースト動作
整数のみ入力が許可されている数値コントロールで、「123.45」を「12345」か「123」と扱うかを制御するプロパティを追加しました。詳細については「入力の制御 - 小数点を含む値の制御」を参照してください。
ドロップダウン日付時刻ピッカーの強化
日付時刻コントロールのドロップダウン日付時刻ピッカーに表示される"Date"、"Time"タブの文字を設定するDateTabTextプロパティ、TimeTabTextプロパティを追加しました。詳細については「ドロップダウン日付時刻ピッカー」の「表示内容の変更」を参照してください。
8.0Jでは、7.0J以前から提供されている機能の改善が行われています。また、クライアント側のリファクタリングや新機能の追加により、描画や動作に関する仕様変更が行われています。 ここでは、7.0J以前のバージョンからの変更点について解説します。
全般
描画スタイルの変更
7.0Jまでは、コントロールの描画スタイルはControlEffectプロパティの設定が適用されていましたが、8.0Jではクライアント側のOSやブラウザに合わせた スタイルで描画されるようになりました。これはControlEffectプロパティをNotSetに設定した場合と同様の動作です。この仕様変更に伴い、ControlEffectプロパティは非推奨メンバとなり、旧バージョンでのControlEffectプロパティの設定は無効になります。
コントロールのサイズ
InputManのコントロールは、さまざまなHTMLやCSSにより形成されていますが、クライアント側がリファクタリングされたことにより、コントロールの内部構成も最適化されました。 これにより、以下の箇所の既定のサイズが変更されました。 既定値(空の値)から変更していない場合や、AutoWidth、AutoHeight、AutoSizeプロパティ等により自動サイズ調整を行っている場合は、旧バージョンと比較して1~3px程の差異があります。
画像品質の改善
ドロップダウンやスピンボタン、検証エラーアイコン、ファンクションキーボタンのデフォルト画像、あるいはカレンダーのナビゲータなど、コントロールの内部で使用されている画像のズーム時の品質を改善しました。 以下は、ブラウザの拡大率200%のときの7.0Jと8.0Jの違いです。
7.0Jと8.0Jの画像品質 |
マウスホイールの動作
コントロール上にマウスポインタがあっても、コントロールにフォーカスがないときにマウスホイールを動作しても、スピン機能による値の変更がされないようになりました。
クライアント側スクリプト
クライアント側機能のリファクタリングに伴い、InputMan for ASP.NETのコントロールは、すべてGCIM名前空間で定義されるようになりました。 これにより、クライアント側でオブジェクトを生成する場合は、GCIM名前空間の宣言が必要となります。
次のサンプルコードは、検証アクションエクステンダに追加するColorNotifyオブジェクト(色によるエラー通知)のインスタンスを生成する例です。
// GCIM名前空間から、ColorNotifyオブジェクトを実装します。
var action = new GCIM.ColorNotify();
action.SetInvalidBackColor("yellow");
ただし、7.0J以前のバージョンでGCIM名前空間なしで実装されていたクライアント側オブジェクトについては、7.0J以前の実装方法のままで動作します。 たとえば、バルーンチップの内容を形成するBalloonTipInfoオブジェクトは、以下2種類(tipInfo1、tipInfo2)の実装がいずれも可能です。
var tipInfo1 = new BalloonTipInfo();
tipInfo1.SetCaption("不正入力");
tipInfo1.SetText("ひらがな以外の入力はできません。");
var tipInfo2 = new GCIM.BalloonTipInfo();
tipInfo2.SetCaption("不正入力");
tipInfo2.SetText("ひらがな以外の入力はできません。");
コンボおよびリストコントロールの項目について
7.0J以前のバージョンでは、コンボコントロールの項目を取得または設定するにはComboItemオブジェクトを使用していましたが、8.0JではListItemオブジェクトに変更されました。同様にSubItemオブジェクトはListSubItemと変更され、項目の追加方法も変更されています。 ただし、互換性を保つため、いずれの実装方法も正しく動作します。詳細については、以下のページを参照してください。
各コントロールの変更点
コンボコントロール
リストコントロール(ドロップダウンリスト)
- 垂直方向のスクロールバーはカラム領域より下に表示されるようになりました。
- リスト右下の水平および垂直方向のスクロールバーが交差する領域の背景色が、白からスクロールバーの背景色に変更されました。
- 垂直方向のスクロール量が項目単位ではなくなりました。
- カラムヘッダをリサイズするとき、マウスドラッグによりヘッダ部分だけがリサイズされ、マウスが離されたときにカラム全体がリサイズされるという動作になりました。また、マウスドラッグによるリサイズ時には、項目領域にもサイズ幅を示す点線が表示されます。
- 項目領域ではない部分は空白で表示されます。罫線、項目の背景色、選択項目の背景色などは描画されません。
- コントロールのFontプロパティの設定がヘッダテキストおよびステータスバーに表示されるテキストのフォントに適用されるようになりました。
- カラムのAutoWidthプロパティがTrueのとき、項目だけではなくヘッダテキストの文字幅に従ってカラム幅が調整されるように変更されました。
カレンダーコントロール(ドロップダウンカレンダー)
- 日付の周囲に表示される枠線(区切り線)の内部での描画方法が変更されたため、旧バージョンとは異なって表示される場合があります。
- 前後の月の隣接日が選択されている場合もSelectionStyleプロパティの設定が適用されるようになりました。
- 今日の日付のフォントが既定でBoldからNormalに変更されました。
電卓コントロール(ドロップダウン電卓)
ファンクションキーコントロール
- コントロールのスタイルを設定するテンプレート機能が削除されました。コントロールの外観を設定するには、BackColorプロパティを使用します。
デザイン時の変更点
プロパティページの改善
8.0Jで追加されたプロパティを、各コントロールのプロパティページに追加しました。
スマートタグの改善
各コントロールで表示されるスマートタグの構成を見直し、最適化しました。8.0Jで追加されたプロパティにも対応しています。
日付時刻コントロール
ドロップダウン日付時刻ピッカーのDateタブ、Timeタブの既定で表示される文字をそれぞれ「日付」、「時刻」に変更しました。
マスクコントロール
書式設定時のテンプレートにマイナンバーおよび法人番号を追加しました。