日付コントロールでスピンアクションの増減量をフィールドごとに異なる値にするには?
対象製品
InputMan for .NET 2.0J Web Forms Edition
詳細
日付コントロールのSpin.Incrimentプロパティでスピンアクション時の増減量を設定すると、すべてのフィールドに適用されてしまいます。カレットのあるフィールドごとに増減量を変更したい場合は、クライアント側のSpinDownおよびSpinUpイベントを実装します。
次のサンプルコードでは、書式を時刻形式に設定された日付コントロールでのスピンアクション増減量が、時フィールドにカレットがある場合は1時間、分フィールドにカレットがある場合は15分とする例です。
[Visual Basic]
[C#]
以下のクライアント側スクリプトの実装は、Visual Basic、C#共通です。クライアント側イベントを追加する方法については、製品ヘルプをご確認ください。
[クライアント側スクリプト]
- [クライアント側イベント]
[JavaScript]
次のサンプルコードでは、書式を時刻形式に設定された日付コントロールでのスピンアクション増減量が、時フィールドにカレットがある場合は1時間、分フィールドにカレットがある場合は15分とする例です。
[Visual Basic]
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not IsPostBack Then
Date1.Format.Pattern = "HH:mm"
Date1.DisplayFormat.Pattern = "H:mm"
Date1.Spin.Increment = 1
Date1.Spin.Visible = True
End If
End Sub
If Not IsPostBack Then
Date1.Format.Pattern = "HH:mm"
Date1.DisplayFormat.Pattern = "H:mm"
Date1.Spin.Increment = 1
Date1.Spin.Visible = True
End If
End Sub
[C#]
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Date1.Format.Pattern = "HH:mm";
Date1.DisplayFormat.Pattern = "H:mm";
Date1.Spin.Increment = 1;
Date1.Spin.Visible = true;
}
}
{
if (!IsPostBack)
{
Date1.Format.Pattern = "HH:mm";
Date1.DisplayFormat.Pattern = "H:mm";
Date1.Spin.Increment = 1;
Date1.Spin.Visible = true;
}
}
以下のクライアント側スクリプトの実装は、Visual Basic、C#共通です。クライアント側イベントを追加する方法については、製品ヘルプをご確認ください。
[クライアント側スクリプト]
- [クライアント側イベント]
[JavaScript]
<script language=javascript>
//フラグ(イベント重複発生を防止)
var fl_spinup = false;
var fl_spindown = false;
function Date1_SpinDown(oDate, eArgs)
{
if( fl_spindown == false && oDate.GetCurrentField() == 7)
{
fl_spindown = true;
oDate.DoSpinDown(DateCursorPosition.Minute, 14);
return;
}
fl_spindown = false;
}
function Date1_SpinUp(oDate, eArgs)
{
if( fl_spinup == false && oDate.GetCurrentField() == 7)
{
fl_spinup = true;
oDate.DoSpinUp(DateCursorPosition.Minute, 14);
return;
}
fl_spinup = false;
}
</script>
//フラグ(イベント重複発生を防止)
var fl_spinup = false;
var fl_spindown = false;
function Date1_SpinDown(oDate, eArgs)
{
if( fl_spindown == false && oDate.GetCurrentField() == 7)
{
fl_spindown = true;
oDate.DoSpinDown(DateCursorPosition.Minute, 14);
return;
}
fl_spindown = false;
}
function Date1_SpinUp(oDate, eArgs)
{
if( fl_spinup == false && oDate.GetCurrentField() == 7)
{
fl_spinup = true;
oDate.DoSpinUp(DateCursorPosition.Minute, 14);
return;
}
fl_spinup = false;
}
</script>
関連情報
この文書は、以前は次のFAQ IDで公開されていました : 10069