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