数値コントロールの整数部分と小数部分でスピンアクションの増減量を変更するには?

文書番号 : 23633     文書種別 : 使用方法     最終更新日 : 2007/03/24
文書を印刷する
対象製品
InputMan for .NET 2.0J Web Forms Edition
詳細
数値コントロールのSpin.Incrimentプロパティでスピンアクション時の増減量を設定すると、カレットのあるフィールドすべてに適用されてしまいます。整数部分にカレットがあるときと小数部分にカレットがあるときで、値増減量を変更したいときは、クライアント側のSpinDownおよびSpinUpイベントを実装します。

次のサンプルコードは、整数部にカレットがあるときは値の増減量は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

[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;
  }
}

以下のクライアント側スクリプトの実装は、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>
関連情報

この文書は、以前は次のFAQ IDで公開されていました : 10068