2015-05-19 63 views
0

我有一个ASPxSpinEdit,onblur我想截断输入的任何小数。以下代码有两个问题。我可以通过使用s.ParseValue()方法从框中获取值,但在对数值进行任何运算后似乎无法重新分配值。我遇到的另一个问题是我似乎无法离开盒子。事件发生后,光标放回盒子中,不会离开。我的代码如下。谢谢。如何在LostFocus事件期间从ASPxSpinEdit获取和设置值。

<dx:GridViewDataTextColumn FieldName="InventoryBank" Caption="InventoryBank" Width="100px"> 
    <EditItemTemplate> 
     <dx:ASPxSpinEdit runat="server" NumberType="Float" DecimalPlaces="1" AllowNull="true" AllowMouseWheel="true" AllowUserInput="true" MinValue="-999999999" ID="lblInventoryBank" Value='<%# Bind("InventoryBank") %>' Width="100px" Increment="1" MaxValue="999999999"> 
      <ClientSideEvents LostFocus="function(s, e) { 
       s.ParseValue(); 
       var truncatedValue = s.GetNumber(); 
       truncateValue = (truncateValue * 100)/100; 
       }"> 
      </ClientSideEvents> 
     </dx:ASPxSpinEdit> 
    </EditItemTemplate> 
</dx:GridViewDataTextColumn> 

回答

0

所以我想我应该在这里一直走我的直觉,只是完全绕过DevExpress。吹码调用一个常规的JavaScript函数,并从那里的解决方案是相当容易的。

<dx:GridViewDataTextColumn FieldName="InventoryBank" Caption="InventoryBank" Width="100px"> 
    <EditItemTemplate> 
     <dx:ASPxSpinEdit runat="server" NumberType="Float" DecimalPlaces="1" AllowNull="true" AllowMouseWheel="true" AllowUserInput="true" MinValue="-999999999" ID="lblInventoryBank" Value='<%# Bind("InventoryBank") %>' Width="100px" Increment="1" MaxValue="999999999"> 
      <ClientSideEvents LostFocus="fnTruncateInt" /> 
     </dx:ASPxSpinEdit> 
    </EditItemTemplate> 
</dx:GridViewDataTextColumn> 

而下面是我的页面顶部的JavaScript。

function fnTruncateInt(s, e) { 
    s.SetValue(Math.floor(s.GetValue())); 
} 
相关问题