我有一个 ASPxSpinEdit,在模糊时我想 chop 输入的所有小数。以下代码有两个问题。我可以使用 s.ParseValue() 方法从框中获取值,但在对值进行任何数学运算后似乎无法重新分配它。我遇到的另一个问题是我似乎无法离开盒子。事件触发后,光标将放回框中并且不会离开。我的代码如下。谢谢。
<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>
最佳答案
所以我想我应该跟着我的直觉走,完全绕过 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()));
}
关于javascript - 如何在 LostFocus 事件期间从 ASPxSpinEdit 获取和设置值。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30329262/