MESCIUS InputMan for ASP.NET 10.0J
プロパティとメソッド

コントロールのインスタンスをあらわすオブジェクトを使用して、クライアント側で各コントロールのプロパティを設定できます。オブジェクトを取得するには、イベントハンドラのパラメータを利用するか、またはFindIMControlメソッドを使用します。詳しくは、「コントロールオブジェクトの取得」を参照してください。

以下は、クライアント側でコントロールのプロパティを使用する方法について説明します。

プロパティの使い方

コントロールのプロパティをクライアント側のスクリプトで処理するには、SetXXX と GetXXX の2つメソッドによって取得または設定します。 通常、XXX にはサーバーで利用されるコントロールのプロパティの名前が入ります。

  • JavaScriptリファレンスには、すべてのプロパティはメソッドとして記載されています。
  • 多くのメンバ名は、サーバーで利用されるコントロールのプロパティの名前(SetXXX や GetXXX の XXXの部分)が使用されていますが、すべてではありません。例えば、サーバー側のFontプロパティは、クライアント側ではSetFontFamily、GetFontSizeなどといったメソッドで提供されます。 正確な名称については、JavaScriptリファレンスを確認してください。

例えば、コントロールの前景色を示すForeColorプロパティでは、前景色を取得するにはGetForeColorを使用し、前景色を変更するにはSetForeColorを使用します。つまり、クライアント側のスクリプトで前景色を赤色に変更するには、ForeColor = "red" ではなく、SetForeColor("red") のように記述する必要があります。

以下は範囲外の値が入力されたときに日付コントロールの前景色を赤色に設定する例です。

function GcDate1_InvalidRange(sender, eArgs)
{
    sender.SetForeColor("red");
}
パラメータの実装方法

SetXXXメソッドを使用してプロパティの設定を行うとき、パラメータ(引数)に設定値を指定します。この設定値に列挙体を使用するには、次のルールでメンバ名を文字列型として実装します。

たとえば、サーバー側でテキストコントロールで矢印キーを使ったフォーカス移動を設定するには、ExitOnLeftRightKeyプロパティに、ExitOnLeftRightKey列挙体のBoth、Left、None、およびRightのいずれかの値を設定します。

クライアント側ではこれらの列挙メンバーを上記のルールに従い、SetExitOnLeftRightKeyメソッドを次のように実装します。

var text = FindIMControl("GcTextBox1");
text.SetExitOnLeftRightKey("both");

フォントの設定には、CSSで定義されるプロパティ名を同様のルールで設定します。

var gcTextBox = FindIMControl("GcTextBox1");
gcTextBox.SetFontFamily("ms ui gothic");
gcTextBox.SetFontWeight("bold");
gcTextBox.SetFontStyle("italic")

また、ビット・フィールドとして扱える列挙体は、「("メンバ1, メンバ2")」のように、一つの引用符で囲み、メンバ名はカンマで区切って実装します。 次のサンプルコードは数値コントロールのタッチツールバーを長押しおよび選択テキストのタップにより表示するように設定します。

FindIMControl("GcDateTime1").SetShowTouchToolBar("pressandhold, tapselection");
サブプロパティの設定

サーバー側では、サブプロパティをコントロールのプロパティが参照するオブジェクトのプロパティとして設定しますが、クライアント側ではこれらのサブプロパティの多くは、 コントロールに直接アクセスできるメソッドとして提供されています。

たとえば、マスクコントロールのFormatプロパティが参照するMaskFormatクラスのPatternプロパティは、クライアント側ではGetFormatPatternおよびSetFormatPatternメソッドとして提供されます。Watermarkプロパティが参照するWatermarkBaseクラスの各メンバは、クライアント側ではSetWatermarkNullForeColorSetWatermarkDisplayNullTextメソッド等を使用して設定します。

次のサンプルコードは、日付時刻コントロールの書式と代替テキストを設定する例です。

var date = FindIMControl("GcDateTime1");
// 書式を設定します。
date.SetFormatPattern("yyyy/MM/dd");
date.SetDisplayFormatPattern("ggge年M月d日");
// 代替テキストを設定します。
date.SetWatermarkDisplayNullText("生年月日を入力してください。")
date.SetWatermarkDisplayNullForeColor("pink")
date.SetWatermarkDisplayEmptyEraText("和暦表示できません。")
メソッドの使い方
クライアント側のスクリプトでメソッドを使用する方法は、サーバー側の処理とよく似ています。
以下はマスクコントロールの内容をクリアする例です。
var gcMask = FindIMControl("GcMask1");
gcMask.Clear();
値が保持されるメンバ

通常、クライアント側のスクリプトによって設定されたプロパティの値やメソッドの実行結果は保持されません。サーバーへのポストバックによって元の値にリセットされます。ただし、ValueやTextプロパティといったコントロールの値は、ポストバック後もクライアント側での設定値が保持されます。以下は、サーバーへポストバックされても値が保持されるメソッド(プロパティ)の一覧です。

  メソッド
テキストコントロール SetTextSetLinesClear
マスクコントロール SetTextSetValueClearDoSpinUpDoSpinDown
数値コントロール SetTextSetValueClearDoSpinUpDoSpinDown
日付時刻、日付、時刻コントロール SetNumberSetTextSetValueClearDoSpinUpDoSpinDown
コンボコントロール SetSelectedIndexSetTextSetValueClearDoSpinUpDoSpinDownAddItemClearItemsInsertItemRemoveItemRemoveItemAt
リストコントロール SetSelectedIndexSetSelectedIndicesSetSelectedItemSetSelectedItems
カレンダーコントロール SetFocusDateSetSelectedDateSetSelections
電卓コントロール SetText
関連トピック

 

 


© MESCIUS inc. All rights reserved.