- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个类别过滤器,可以按字母顺序填充月份名称。我想按时间顺序显示月份(一月、二月、三月等),并且我想在下拉列表中将当前月份名称设置为默认值。我无法通过 ORDER BY
字段调整 SQL,相反,我想从类别过滤器中进行调整。
代码:
var filterFrequencyData = new google.visualization.ControlWrapper(
{
'controlType': 'CategoryFilter',
'containerId': 'filterFrequencyDataHtml',
'options':
{
'filterColumnIndex': '5',
'ui':
{
'label': '',
'labelSeparator': ':',
'labelStacking': 'vertical',
'allowTyping': false,
'allowNone': false,
'allowMultiple': false,
'sortValues': false
}
}
});
最佳答案
在 CategoryFilter 上使用 sortValues: false
时,值将按照它们在数据中出现的方式进行排序。
为了让月份名称按时间顺序(一月、二月、三月等)排序,您需要使用除 'string' 之外的列类型
并对该列进行排序,例如 'number'
或 'date'
。
然后将单元格的格式化值设置为月份名称。例如:
{v: 0, f: 'January'}
或
{v: new Date(2016, 0, 1), f: 'January'}
如果单元格已有值,您还可以使用 setFormattedValue
方法:
data.setFormattedValue(0, 0, 'January');
一旦就位,表格就可以根据'number'
或'date'
进行排序:
data.sort({column: 0});
请参阅以下工作片段,'date'
列用于对月份名称进行排序:
google.charts.load('current', {
callback: function () {
var data = new google.visualization.DataTable({
cols: [{
label: 'Month',
type: 'date'
}]
});
// load months in reverse
var formatDate = new google.visualization.DateFormat({pattern: 'MMMM'});
var today = new Date();
var monthCount = 12;
var selectedRow;
var rowIndex;
while (monthCount--) {
// get row values
var monthDate = new Date(today.getFullYear(), monthCount, 1);
var monthName = formatDate.formatValue(monthDate);
// use object notation when setting value
rowIndex = data.addRow([{
// value
v: monthDate,
// formatted value
f: monthName
}]);
// set selected row
if (monthName === formatDate.formatValue(today)) {
selectedRow = rowIndex;
}
}
// sort data
data.sort({column: 0});
var dash = new google.visualization.Dashboard(document.getElementById('dashboard'));
var control = new google.visualization.ControlWrapper({
controlType: 'CategoryFilter',
containerId: 'control_div',
options: {
filterColumnIndex: 0,
ui: {
allowMultiple: false,
allowNone: false,
allowTyping: false,
label: '',
labelStacking: 'vertical',
sortValues: false
},
// use month name
useFormattedValue: true
},
// state needs formatted value
state: {
selectedValues: [data.getFormattedValue(selectedRow, 0)]
}
});
// or set state here -- just need month name
control.setState({selectedValues: [formatDate.formatValue(today)]});
var chart = new google.visualization.ChartWrapper({
chartType: 'Table',
containerId: 'chart_div',
options:{
allowHtml: true
}
});
dash.bind(control, chart);
dash.draw(data);
},
packages: ['controls', 'corechart', 'table']
});
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="dashboard">
<div id="control_div"></div>
<div id="chart_div"></div>
</div>
关于charts - 谷歌图表 : How do I sort by category filter with chronological order (by month)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39219733/
我有以下函数,它应该返回日期到长整型的映射,以便您以相反的时间顺序迭代条目。 counts 是一个 LinkedHashMap,因此条目按照插入的顺序存储(在本例中是按时间顺序排列的): public
我正在使用 Scrapy 用 python 编写一个网络爬虫。目的是按照预定的时间间隔监视网页的更改。登录网站后,蜘蛛每隔 X 分钟请求一个网页,并从页面中提取某些数据并将其保存到文本文件中。事实证明
我有一本字典,其中的键是日期字符串。格式为: %d.%m.%Y 即。 “5.11.2008”。日期有对应每一天的数据。 将它们收集到两个列表中的最简单方法是什么,一个用于键,一个用于值,其中列表按时间
我正在开发一款 RPG 风格的游戏,我想为该游戏开发一个具有独特月份、工作日、月份长度和日期长度的自定义日历。我原本打算覆盖 JDK 日历并尝试这样做;然而,我遇到了 Joda-Time,它似乎更有前
我正在寻找在某个提交时浏览存储库的功能(查看此次提交时存储库中的所有文件,包括以前提交的文件),而不仅仅是添加、更改或删除的文件通过这次提交。 例如: 提交 67c2a4b : 添加 .gitigno
我有一个静态内容网站,实际上我不希望文章按时间倒序显示,使用 jekyll/liquid,有什么创造性的方法可以实现这一点,而不必恢复到对所有帖子的日期进行反向排序? 最佳答案 使用一些难看的 Liq
我有一个类别过滤器,可以按字母顺序填充月份名称。我想按时间顺序显示月份(一月、二月、三月等),并且我想在下拉列表中将当前月份名称设置为默认值。我无法通过 ORDER BY 字段调整 SQL,相反,我想
让我们假设我们有以下模型: class Patient(models.Model) name = models.CharField() # other fields following
我是一名优秀的程序员,十分优秀!