我的应用程序中有一个网格,它在字段中显示日期。现在我想以粗体格式显示该字段,如果这一天是在上周。但在两行显示我想要的输出。我不明白我的病情在哪里。请问有人帮我吗?这是我的代码:
{
text: 'Start',
dataIndex: 'weekstart',
flex: 1,
renderer: function(value, metaData){
var day = new Date(value) - 0,
lastDay = Ext.Date.getLastDateOfMonth(value)-0,
lastWeek = lastDay - 7;
console.log('day >>> '+day,'lastDay >>> '+ lastDay, 'lastWeek >>> '+lastWeek);
return day >= lastWeek ? '<b>' + Ext.Date.format(value, 'M d, Y') + '</b>' : Ext.Date.format(value, 'M d, Y') ;
}
}
答案 0 :(得分:3)
您的day
和lastDay
是时间戳,为此,您应该使用lastWeek
中的时间戳:lastWeek = lastDay - 7*24*3600*1000
。
无论如何,IMO最好使用getRowClass
格式化值。
在网格配置中尝试指定viewConfig
:
viewConfig: {
getRowClass: function(record, rowIndex, rowParams, store){
var value = record.get('lastChange'),
day = value.getDate(),
lastDay = Ext.Date.getDaysInMonth(value),
lastWeek = lastDay - 6;
return day >= lastWeek ? 'last-week' : '';
}
}
在列定义中指定类附加类:tdCls: 'date-column'
然后您可以在css中格式化列:
.last-week .date-column {
font-weight: bold;
}
答案 1 :(得分:0)
您好我已完成如下:
{
text: 'Start',
dataIndex: 'weekstart',
width: 84,
renderer: function(value, metaData, record, row, col, store, gridView){
var day = value.getDate(),
lastDay = Ext.Date.getDaysInMonth(value),
lastWeek = lastDay - 6;
// console.log( 'row >>> '+ row,' day >>> '+ day,' lastDay >>> '+ lastDay, ' lastWeek >>> '+ lastWeek );
return day >= lastWeek ? '<b>' + Ext.Date.format(value, 'M d, Y') + '</b>' : Ext.Date.format(value, 'M d, Y') ;
}
}