YAHOO.widget.DataTable.formatDate использует американский формат отображения даты (ММ/ДД/ГГГГ), поэтому пришлось написать свой formatter для отображения дат по-русски (ДД.ММ.ГГГГ):
var rusDateFormatter = function(elCell, oRecord, oColumn, oData)Этот formatter можно использовать при объявлении колонок DataTable:
{
function addLeadingZero(num)
{
if(num<10)
return "0"+num;
else
return num;
}
var date = new Date(oData);
elCell.innerHTML = addLeadingZero(date.getDate())+"."+addLeadingZero(date.getMonth()+1)+"."+date.getFullYear();
}
var myCols = [Тоже самое с парсером: YAHOO.util.DataSource.parseDate (или просто "date") умеет парсить только американские даты, т.к. используется Date.parse() JavaScript`а. Поэтому пришлось использоваться свой парсер:
{
key: "someDate",
label: "Какая-то дата",
editor: new YAHOO.widget.DateCellEditor(),
formatter: rusDateFormatter
}
];
var rusDateParser = function(oData)Теперь его можно использовать при задании схемы данных:
{
var parts = oData.toString().split('.');
return new Date(parts[1]+"/"+parts[0]+"/"+parts[2]);
}
myDataSource.responseSchema =UP: по крайней мере написание собственного formatter`а можно заменить передачей в качестве доп. опций конструктора DataTable:
{
fields: [
{key:"someDate",parser:rusDateParser}
]
}
dateOptions:{format:'%d.%m.%Y'}
Комментариев нет:
Отправить комментарий