GcNumberコントロールでValueが0の場合にTextが””空文字を返す場合がある

文書番号 : 41429     文書種別 : 制限事項     登録日 : 2017/12/06     最終更新日 : 2017/12/14
文書を印刷する
対象製品
InputManPlus for ASP.NET 10.0J
詳細
GcNumberコントロールを使用し、Formatを"########.#"のように設定している場合、Valueが0の時にTextが””空文字を返します。

DisplayFormat、Watermarkを以下のように設定しても回避できません。

 <Format Digit="########.#" NegativePrefix="-" />
 <DisplayFormat Digit="#######0.0" NegativePrefix="-" />
 <Watermark>
 <DisplayZero Text="0.0" />
 <Zero Text="0" />
 </Watermark>
回避方法
次のいずれかの方法で問題を回避できます。

方法1. Formatを”#######0.#”と設定します。
方法2. 以下のような関数を通してテキストを取得するようにします。

[VB]


Private Function GetGcNumberText(GcNum As GrapeCity.Web.Input.IMNumber.GcNumber) As String
    If GcNum.Value = 0 AndAlso GcNum.Text = "" Then
        If GcNum.Watermark Is Nothing Then
            Return ""
        Else
            Return GcNum.Watermark.Zero.Text
        End If
    Else
        Return GcNum.Text
    End If
End Function


[C#]


private string GetGcNumberText(GrapeCity.Web.Input.IMNumber.GcNumber GcNum)
{
  if (Convert.ToInt32(GcNum.Value) == 0 && GcNum.Text == "")
  {
    return (GcNum.Watermark == null) ? "" : GcNum.Watermark.Zero.Text;
  }
  else
  {
    return GcNum.Text;
  }
}