我有一個輸入字段(sap.m.Input),我需要類型爲Float。 我嘗試使用sap.ui.model.type.Float(),但它沒有奏效。sap.m.Input sap中的自定義輸入類型ui5
如何爲我的輸入字段使用自定義類型。我沒有任何綁定,只需要將輸入字段的類型設置爲float即可。 一個例子會非常有幫助。
由於事先 迪帕克
我有一個輸入字段(sap.m.Input),我需要類型爲Float。 我嘗試使用sap.ui.model.type.Float(),但它沒有奏效。sap.m.Input sap中的自定義輸入類型ui5
如何爲我的輸入字段使用自定義類型。我沒有任何綁定,只需要將輸入字段的類型設置爲float即可。 一個例子會非常有幫助。
由於事先 迪帕克
我有同樣的問題,使用新的sap.ui.model.type.Float
似乎將OData服務(Edm.Decimal)中的字符串轉換爲實際的浮點數。這將用於顯示數字的正確性,但如果您嘗試寫回更改的值(OData雙向綁定),則不適用。
所以我實現了一個自己的類型是這樣的:
jQuery.sap.declare("my.package.MyFloat");
sap.ui.model.SimpleType.extend("my.package.MyFloat", {
formatValue : function(oValue) {
return oValue;
},
parseValue : function(oValue) {
return oValue;
},
validateValue : function(oValue) {
if (oValue != null && oValue != "" && oValue != undefined) {
if (isNaN(Number(oValue))) {
var messageString = sap.ui.getCore().getModel("i18n").getResourceBundle().getText("KEY_TO_ERROR_MESSAGE");
throw new sap.ui.model.ValidateException(messageString);
}
}
}
})
我在這裏檢測到一個SAP例如: http://help.sap.com/saphelp_nw74/helpdata/de/91/f0652b6f4d1014b6dd926db0e91070/content.htm 在文件中搜索PLZ。
目前我正在尋找一種在MyFloat
的施工過程中添加一些參數的方法。
您可以使用這種類型是這樣的:
new sap.m.Input({
value: {
path : "BindingPathToAttribute",
type : new my.package.MyFloat({})
}
}),
var oInp = new sap.m.Input({
liveChange : function(oEvent){
debugger;
var value = parseFloat(oEvent.getSource().getProperty('value'));
if(value % 1 === 0 || isNaN(value))
valueState = "Error";
else
valueState = "Success";
oEvent.getSource().setValueState(valueState);
}
});
oInp.setType(sap.m.InputType.Number);
您可以像這樣創建自定義類型:
<script type="text/javascript">
(function(){
"use strict";
jQuery.sap.declare('Float');
jQuery.sap.require('sap.ui.base.DataType');
Float = sap.ui.base.DataType.createType("Float",
{ isValid :
function(sValue) {
return ((sValue % 1) != 0);
}
}, sap.ui.base.DataType.getType('number')
);
})();
</script>
現在你可以使用類型爲浮動
嗨克里希納, 感謝片段。這是否也確保鍵盤只顯示數字和「。」/「,」? 乾杯 – AntonSack 2014-10-27 09:30:37