PowerTools InputMan for ASP.NET 8.0J > クライアント側スクリプト > プロパティとメソッド |
コントロールのインスタンスをあらわすオブジェクトを使用して、クライアント側で各コントロールのプロパティを設定できます。オブジェクトを取得するには、イベントハンドラのパラメータを利用するか、またはFindIMControlメソッドを使用します。詳しくは、「コントロールオブジェクトの取得」を参照してください。
以下は、クライアント側でコントロールのプロパティを使用する方法について説明します。
コントロールのプロパティをクライアント側のスクリプトで処理するには、SetXXX と GetXXX の2つメソッドによって取得または設定します。 通常、XXX にはサーバーで利用されるコントロールのプロパティの名前が入ります。
|
例えば、コントロールの前景色を示す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クラスの各メンバは、クライアント側ではSetWatermarkNullForeColorやSetWatermarkDisplayNullTextメソッド等を使用して設定します。
次のサンプルコードは、日付時刻コントロールの書式と代替テキストを設定する例です。
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プロパティといったコントロールの値は、ポストバック後もクライアント側での設定値が保持されます。以下は、サーバーへポストバックされても値が保持されるメソッド(プロパティ)の一覧です。
メソッド | |
---|---|
テキストコントロール | SetText、SetLines、Clear |
マスクコントロール | SetText、SetValue、Clear、DoSpinUp、DoSpinDown |
数値コントロール | SetText、SetValue、Clear、DoSpinUp、DoSpinDown |
日付時刻、日付、時刻コントロール | SetNumber、SetText、SetValue、Clear、DoSpinUp、DoSpinDown |
コンボコントロール | SetSelectedIndex、SetText、SetValue、Clear、DoSpinUp、DoSpinDown、AddItem、ClearItems、InsertItem、RemoveItem、RemoveItemAt |
リストコントロール | SetSelectedIndex、SetSelectedIndices、SetSelectedItem、SetSelectedItems |
カレンダーコントロール | SetFocusDate、SetSelectedDate、SetSelections |
電卓コントロール | SetText |