2013-01-10 61 views
0

如何設置最大十進制值= 0.45 我想選擇的小時數...即Ext.net numberfield

1.15 hrs 
1.30 hrs 
1.45 hrs 
2.00 hrs 
' 
' 
' 

    <ext:NumberField 
         ID="numHours" 
         runat="server" 
         ColumnWidth="0.2" LabelWidth="50" 
         MinValue="0" 
         MaxValue="12" 
         AllowDecimals="true" 
         DecimalPrecision="2" 
         Step="0.15" 
         /> 

回答

1

也許是這樣的。

<%@ Page Language="C#" %> 

<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %> 

<!DOCTYPE html> 

<html> 
<head runat="server"> 
    <title>Ext.NET v2 Example</title> 

    <script> 
     var onChange = function (field, newValue, oldValue) { 
      if (newValue % 1 > 0.45) { 
       if (newValue > oldValue) { 
        newValue += 0.4; 
       } else { 
        newValue -= 0.4; 
       } 
      } 

      this.setValue(newValue); 
     }; 
    </script> 
</head> 
<body> 
    <form runat="server"> 
     <ext:ResourceManager runat="server" /> 

     <ext:NumberField 
      runat="server" 
      MinValue="0" 
      MaxValue="12" 
      AllowDecimals="true" 
      DecimalPrecision="2" 
      TrimTrailedZeros="false" 
      Step="0.15"> 
      <Listeners> 
       <Change Fn="onChange" /> 
      </Listeners> 
     </ext:NumberField> 
    </form> 
</body> 
</html> 

雖然,我個人也會考慮使用SpinnerField的可能性。這是一個example