无法找到解决方案,所以也许有人会帮忙。
我有一组类似的数据:
[
{
id: 1,
name: 'Nissan',
year: 2012,
chassis_color: ['yellow', 'red', 'orange', 'green', 'blue', 'gray', 'black', 'white']
},
{
id: 2,
name: 'Chrysler',
year: 2014,
chassis_color: ['red', 'orange', 'blue', 'gray', 'black', 'white']
},
{
id: 3,
name: 'Volvo',
year: 2015,
chassis_color: ['white', 'orange', 'blue', 'red']
}
]
所以我无法通过手动输入数组值来弄清楚如何从它的值中填充chassis_color列下拉列表。
文档中的示例:
columns: [
{
type: 'dropdown',
source: ['yellow', 'red', 'orange', 'green', 'blue', 'gray', 'black', 'white']
}
]
但我需要这个:
columns: [
{
type: 'dropdown',
source: 'chassis_color' // it should understand that this property is an array and populate source with it
}
]
以同样的方式工作。
我需要这个,因为我有非常大的数据集,手动设置很难。
感谢。
答案 0 :(得分:2)
Handsontable只是尝试将数组显示为数据。
您可以使用cell属性更改源值:
cells: function(row, col, prop) {
var cellProperties = this;
if (col == 0) {
cellProperties.type = 'dropdown';
var val = data[row].chassis_color_source;
if (typeof val != 'undefined') {
cellProperties.source = val;
}
}
return cellProperties;
}
此JSFiddle中的完整示例。