Как установить для культуры "валютное" числовое текстовое поле, не затрагивая другие числовые текстовые поля?
Я хочу знать, как мы можем динамически устанавливать / изменять культуру для числовых элементов управления в формате "валюта", не затрагивая другие числовые элементы управления в Kendo.
Сценарий: у меня есть 9 числовых текстовых полей кендо, 4 из которых имеют формат "Валюта". Мне нужно отобразить число, введенное в элемент управления "Валюта" в определенной "культуре" на основе валюты, выбранной пользователем из раскрывающегося списка. Для выпадающих элементов в качестве их значений будет задана культура.
Например: если в раскрывающемся списке есть два элемента: "Доллар США", "Евро", то, если пользователь выбирает "Доллар США" из раскрывающегося списка, числа, введенные в элемент управления "Валюта", должны быть отформатированы в "ru". -США "культура.
Я использую приведенную ниже конфигурацию javascript для установки числового текстового поля кендо.
function setupNumericTextBoxes(root) {
root.find("[data-role='numerictextbox']").each(function (index, dataControlObj) {
var textbox = $(dataControlObj).data("kendoNumericTextBox");
var numberFormat = $(dataControlObj).data("numberformat");
var cultureToSet = $(dataControlObj).data("culture");
var options = {};
if (numberFormat === "percentage") {
options.format = "##.00 \\%"
options.decimals = 2;
options.min = 0;
options.spinners = false;
}
else if (numberFormat === "currency") {
options.format = "c"
options.decimals = 0;
options.min = null;
options.spinners = false;
}
else if (numberFormat === "year") {
options.format = "#"
options.decimals = 0;
options.min = 0;
options.spinners = false;
setUpYearValidation(dataControlObj);
}
else if (numberFormat === "standard") {
options.format = "n0"
options.decimals = 0;
options.min = 0;
options.spinners = false;
}
else {
options.format = "n0"
options.decimals = 0;
options.spinners = false;
}
if (cultureToSet){
options.culture = cultureToSet;
}
textbox.setOptions(options);
// Apply the format
textbox.value(textbox.value());
});
Нужна помощь, чтобы решить проблему.
1 ответ
Чтобы использовать параметр конфигурации культуры в NumericTextBox, вы также должны убедиться, что вы включили соответствующий файл kendo.culture.LANGUAGE.min.js для каждой культуры, которую хотите поддерживать, иначе информация о формате культуры не будет быть включенным в массив kendo.cultures, который используется kendo для получения параметров форматирования.
http://docs.telerik.com/kendo-ui/api/javascript/ui/numerictextbox
Так что, если вы хотите поддерживать "en-US" и "en-IE", вы должны включить оба
kendo.culture.en-IE.min.js (который создает запись kendo.cultures["en-IE"])
А ТАКЖЕ
kendo.culture.en-US.min.js (который создает запись kendo.cultures["en-US"]).
Затем вы можете использовать "en-US" и "en-IE" в качестве параметра культуры для NumericTextBox.