MESCIUS InputMan for ASP.NET 10.0J
7.0Jから8.0Jへの変更点

InputMan for ASP.NET 8.0Jで追加された機能および、InputMan for ASP.NET 7.0JからInputMan for ASP.NET 8.0Jの変更点について解説します。

新機能

新環境対応

以下の新環境に対応しました。

マルチブラウザに対応

以下の新環境に対応しました。

Windowsでは、Internet ExplorerのほかMicrosoft EdgeおよびChromeでの動作をサポートします。 さらに、iPadにも対応しiPad搭載のSafari for iOS 8/9での動作も保証します。また、それぞれのクライアント環境に沿ったスタイルで描画されます。

Chromeでの描画スタイル

Chromeでの描画スタイル

Microsoft Edgeでの描画スタイル

Microsoft Edgeでの描画スタイル

iPadでの描画スタイル

iPadでの描画スタイル

クラウドへの配置

サーバー環境として、以下のクラウドサーバーへの配置をサポートします。

ドロップダウン数値パッド

数値、日付時刻、日付および時刻コントロールからドロップダウンされるオブジェクトに、数値パッドを追加しました。プロパティの設定により、ドロップダウンオブジェクトを選択することが可能です。

詳細については、以下のページを参照してください。

ドロップダウン日付時刻ピッカー

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

詳細については、以下のページを参照してください。

クライアント側機能の強化

サーバー側機能のほとんどをクライアント側スクリプトにより実現できるようになりました。そのため、サーバー側へポストバックせずにプロパティの変更やイベントの実装ができます。 また、HTML5を使用してリファクタリングされ、クライアント側へのダウンロードサイズも大幅に減少しました。

以下は、1ページにそれぞれのコントロールを50個配置したときのHTMLダウンロードサイズの7.0Jと8.0Jの比較表です。

その他、以下のクライアント側機能を追加しました。

クライアント側機能の詳細や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プロパティを追加しました。
  • テキスト、マスク、日付時刻、日付、時刻、数値コントロール − EnableContextMenuプロパティ
  • コンボコントロール − 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程の差異があります。

リストコントロール、ドロップダウンリスト
コントロール(オブジェクト)の幅、高さ WidthHeightプロパティ
ヘッダの高さ ListHeaderPane.Heightプロパティ
ステータスバーの高さ -
項目の高さ ItemHeightプロパティ
カラムの幅 ListColumn.Widthプロパティ
カレンダーコントロール、ドロップダウンカレンダー
コントロール(オブジェクト)の幅、高さ WidthHeightプロパティ
ヘッダの高さ HeaderHeightプロパティ
曜日タイトルの幅 HeightWidthMonthMarginsプロパティ等で調整
日付の幅
週番号領域タイトルの幅
電卓コントロール、ドロップダウン電卓
コントロール(オブジェクト)の幅、高さ HeightWidthプロパティ
表示領域の幅 Marginsプロパティで調整
各ボタンの幅、高さ HeightWidthMarginsプロパティで調整
ファンクションキーコントロール
コントロールの高さ Heightプロパティ
ファンクションキーボタンの幅 FunctionKeyButton.Widthプロパティ

画像品質の改善

ドロップダウンやスピンボタン、検証エラーアイコン、ファンクションキーボタンのデフォルト画像、あるいはカレンダーのナビゲータなど、コントロールの内部で使用されている画像のズーム時の品質を改善しました。 以下は、ブラウザの拡大率200%のときの7.0Jと8.0Jの違いです。

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と変更され、項目の追加方法も変更されています。 ただし、互換性を保つため、いずれの実装方法も正しく動作します。詳細については、以下のページを参照してください。

各コントロールの変更点

コンボコントロール

リストコントロール(ドロップダウンリスト)

カレンダーコントロール(ドロップダウンカレンダー)

電卓コントロール(ドロップダウン電卓)

ファンクションキーコントロール

デザイン時の変更点

プロパティページの改善

8.0Jで追加されたプロパティを、各コントロールのプロパティページに追加しました。

スマートタグの改善

各コントロールで表示されるスマートタグの構成を見直し、最適化しました。8.0Jで追加されたプロパティにも対応しています。

日付時刻コントロール

ドロップダウン日付時刻ピッカーのDateタブ、Timeタブの既定で表示される文字をそれぞれ「日付」、「時刻」に変更しました。

マスクコントロール

書式設定時のテンプレートにマイナンバーおよび法人番号を追加しました。
関連トピック

 

 


© MESCIUS inc. All rights reserved.