所以问题的简短版本,有没有办法在模型中只显示Date字段条目的某个部分?
ex:我输入02/13/2017作为参赛作品,但在另一页上我只想看一天,一个月或一年?不是全部。
更长的解释。
我正在使用以下代码与Google charts script(see previous question)一起制作时间轴:
function showChart(widget){
google.charts.load('current', {'packages':['timeline']});
function drawChart() {
var container = widget.getElement();
var chart = new google.visualization.Timeline(container);
var dataTable = new google.visualization.DataTable();
dataTable.addColumn({ type: 'string', id: 'President' });
dataTable.addColumn({ type: 'date', id: 'Start' });
dataTable.addColumn({ type: 'date', id: 'End' });
dataTable.addRows([
[ 'Washington', new Date(1789, 3, 30), new Date(1797, 2, 4) ],
[ 'Adams', new Date(1797, 2, 4), new Date(1801, 2, 4) ],
[ 'Jefferson', new Date(1801, 2, 4), new Date(1809, 2, 4) ]]);
chart.draw(dataTable);
}
google.charts.setOnLoadCallback(drawChart);
}
如果我添加/定义一个变量,我可以用我的模型中的数据替换行的标签。示例:RoomName
function showChart(widget){
google.charts.load('current', {'packages':['timeline']});
function drawChart() {
var container = widget.getElement();
var chart = new google.visualization.Timeline(container);
var dataTable = new google.visualization.DataTable();
var RoomName = app.datasources.TestModel.item.RoomName;
dataTable.addColumn({ type: 'string', id: 'President' });
dataTable.addColumn({ type: 'date', id: 'Start' });
dataTable.addColumn({ type: 'date', id: 'End' });
dataTable.addRows([
[ 'RoomName', new Date(1789, 3, 30), new Date(1797, 2, 4) ],
[ 'Adams', new Date(1797, 2, 4), new Date(1801, 2, 4) ],
[ 'Jefferson', new Date(1801, 2, 4), new Date(1809, 2, 4) ]]);
chart.draw(dataTable);
}
google.charts.setOnLoadCallback(drawChart);
}
我想对签入和签出日期做同样的事情,但新的日期选项将年,月和日分为3个变量(例如上面:新日期(1789,3,30) )。所以我不能只使用app.datasources.TestModel.item.CheckIn。
有没有办法告诉App make app.datasources.TestModel.item.CheckIn(year),app.datasources.TestModel.item.CheckIn(month),app.datasources.TestModel.item.CheckIn(day )?
谢谢你的帮助!
答案 0 :(得分:1)
如果您在模型中存储日期,则可以使用Javascript将日期拆分为其组件,CallbackQuery
,date.getYear()+1900
和date.getMonth()+1
但是没有理由这样做,图表API接受的日期是常规日期,只是因为它们以特定格式显示并不意味着您必须这样做。
date.getDate()
其中dataTable.addRows([
[ 'RoomName', startDate, endDate ],
和startDate
来自您的模型也是如此