Webix SpreadSheet предлагает два варианта работы с форматом числовых значений:
Это Руководство поможет вашим пользователям применять форматирование чисел в Webix SpreadSheet.
Доступны следующие форматы:
Форматы по умолчанию можно настраивать на специальном экране:
Вы можете уменьшить/увеличить количество цифр после разделителя с помощью метода changeDecimals().
Чтобы применить этот метод к одной ячейке, вызовите метод со следующими параметрами:
// добавляет 3 десятичных знака для значения ячейки C3
$$("ss1").changeDecimals(3,3,3,"Sheet1");
Метод также позволяет работать с диапазоном ячеек, для этого используйте следующие параметры:
// удаляет 2 десятичных знака для ячеек в диапазоне C3:E5
$$("ss1").changeDecimals({row:3, column:3}, {row:5, column:5}, -2, "Sheet1");
Также вы можете создать и применить свой формат для отображения чисел в одной или нескольких ячейках.
Пользовательские форматы можно создавать на специальном экране:
Новый формат нужно задать строкой, которая состоит из нескольких частей, разделенных точками с запятой.
Каждая часть может содержать:
Если в записи пользовательского формата есть и [условие] и [цвет], [условие] должно идти первым.
Например:
"[>1000][red];[>100][green]0.0;[blue] Small"
Чтобы установить пользовательский формат для ячейки, используйте метод setFormat, который принимает три параметра:
$$("ss1").setFormat(2, 2, "[>1000]>0.0;[>100]Check 0,000.0#;[=0]Nope", "Sheet1");
Условия помещаются в квадратные скобки и содержат оператор сравнения и значение. По условию из примера ниже, числа равные или меньше 150 будут окрашены в зеленый цвет, а числа больше 150 - в оранжевый.
"[<=150][green];[>150][orange]"
Вы также можете применить условное форматирование для ячеек (например подсвечивание ячеек в зависимости от их значения).
Чтобы задать цвет, введите в квадратные скобки имя одного из доступных цветов (green, red, blue, orange, black, violet или magenta). Название цвета должно быть вторым элементом в записи (после условия).
Тип десятичных и тысячных разделителей применяется в соответствии с установленной локалью. Разделители можно переопределить с помощью соответствующих свойств объекта i18n:
webix.i18n.decimalDelimiter = "'";
webix.i18n.setLocale();
webix.i18n.groupDelimiter = "'";
webix.i18n.setLocale();
Для цен:
webix.i18n.priceSettings = {
groupDelimiter:" ", // знак, разделяющий цифры числа в группы
decimalDelimiter:" "// десятичный разделитель
};
webix.i18n.setLocale();
Вы можете переопределить установленные по умолчанию стили для форматов чисел с помощью соответствующих CSS классов:
Например, стили для формата Number могут быть заданы следующим образом:
<style>
.webix_ssheet_format_int{
color: blue;
font-style: italic;
}
</style>
Вы увидите результат в списке форматов:
Вы можете заменить крайнюю часть имени класса - {color} названием класса, который вы хотите использовать для форматирования (green, red, blue, orange, black, violet или magenta) и применить это же имя в разделе [color] пользовательского формата.
Например, стиль CSS по умолчанию для зеленого цвета следующий:
<style>
.webix_ssheet_format_green{
color: green !important;
}
</style>
В формате по умолчанию это будет выглядеть так:
"[>100][green]0.0"
Формат для дат по умолчанию - mm/dd/yyyy.
Формат по умолчанию можно редактировать с помощью специального меню:
Существует много встроенных форматов, которые пользователь может вводить в поле Format pattern. Например, если вы хотите отображать название месяца целиком, введите код mmmm. Список стандартных форматов и результат их использования:
Чтобы изменить цвет, define задайте секцию color перед кодом даты:
[violet]yyyy
Формат используется для представления чисел как строк.
формат по умолчанию выгляди как на изображении:
Чтобы изменить цвет, задайте секцию color перед знаком @, где укажите требуемый цветовой код:
[red]@
Вы можете выбрать валютный символ через интерфейс. По умолчанию Spreadsheet предлагает 5 символов: доллар США, евро, юань, португальский реал, и российский рубль.
Чтобы добавить свой символ, вам необходимо передать массив с желаемыми единицами в следующую локаль:
webix.i18n.spreadsheet.formats.currencies = [
"{obj} ¥",
"{obj} €",
"{obj} BYN."
];
Related sample: Spreadsheet: Custom Currency
Наверх