使用数组作为 handsontable 的列
Using arrays as columns with handsontable
我正在使用 handsontable 来显示应用程序的数据。我想将数组用作 columns,我似乎无法通过文档弄明白。我想最好的方法是使用我的数组的数组,但我无法将它们拼凑在一起。
这是目前的代码:
var data = [
["Sale Month", "Usage", "Address", "Tax Assessment", "Loan Amount", "Initial Equity", "Lien Start Date", "Lien Term", "Loan Type", "Square Feet", "Year Build", "Acres"
, "Beds", "Baths", "Lotsort"]
];
var container = document.getElementById('listview');
var hot = new Handsontable(container, {
data: data,
rowHeaders: true,
colHeaders: true
});
每一列我都有一组数组header。例如,saleMonth
数组看起来像 ['01/18, 03/16, 01/12']
等等。我想将每个数组的索引用于相应列中的条目。
这是当前输出:
如果我能更清楚一点,请告诉我。
谢谢!
编辑:添加了 JSFiddle
我稍微更改了你的数据结构:将 data
更改为 headers (columns
) 的列表,并将你的值数组移动到映射中 (values
) 其中键是列名,值是原始数组
通过这种方式,您可以详细说明数据,以适当的格式创建 rows
的数组
var saleMonth = ['01/18', '03/20']
var usageArray = ['Residential', 'Commercial']
var values = {
'Sale Month': saleMonth,
'Usage': usageArray
}
var columns =
["Sale Month", "Usage", "Address", "Tax Assessment", "Loan Amount", "Initial Equity", "Lien Start Date", "Lien Term", "Loan Type", "Square Feet", "Year Build", "Acres" , "Beds", "Baths", "Lotsort"]
;
var rows=[];
var numOfRow
for ( numOfRow = 0; numOfRow < saleMonth.length; numOfRow++ ) {
rows.push(columns.map((e) => {
if (e in values) {return values[e][numOfRow]}
return e;
}));
}
var container = document.getElementById('listview');
var hot = new Handsontable(container, {
data: rows,
rowHeaders: true,
colHeaders: true
});
您还可以在 Hansontable
配置中设置 object colHeaders: columns
以获取列标题而不是字母
我正在使用 handsontable 来显示应用程序的数据。我想将数组用作 columns,我似乎无法通过文档弄明白。我想最好的方法是使用我的数组的数组,但我无法将它们拼凑在一起。
这是目前的代码:
var data = [
["Sale Month", "Usage", "Address", "Tax Assessment", "Loan Amount", "Initial Equity", "Lien Start Date", "Lien Term", "Loan Type", "Square Feet", "Year Build", "Acres"
, "Beds", "Baths", "Lotsort"]
];
var container = document.getElementById('listview');
var hot = new Handsontable(container, {
data: data,
rowHeaders: true,
colHeaders: true
});
每一列我都有一组数组header。例如,saleMonth
数组看起来像 ['01/18, 03/16, 01/12']
等等。我想将每个数组的索引用于相应列中的条目。
这是当前输出:
如果我能更清楚一点,请告诉我。
谢谢!
编辑:添加了 JSFiddle
我稍微更改了你的数据结构:将 data
更改为 headers (columns
) 的列表,并将你的值数组移动到映射中 (values
) 其中键是列名,值是原始数组
通过这种方式,您可以详细说明数据,以适当的格式创建 rows
的数组
var saleMonth = ['01/18', '03/20']
var usageArray = ['Residential', 'Commercial']
var values = {
'Sale Month': saleMonth,
'Usage': usageArray
}
var columns =
["Sale Month", "Usage", "Address", "Tax Assessment", "Loan Amount", "Initial Equity", "Lien Start Date", "Lien Term", "Loan Type", "Square Feet", "Year Build", "Acres" , "Beds", "Baths", "Lotsort"]
;
var rows=[];
var numOfRow
for ( numOfRow = 0; numOfRow < saleMonth.length; numOfRow++ ) {
rows.push(columns.map((e) => {
if (e in values) {return values[e][numOfRow]}
return e;
}));
}
var container = document.getElementById('listview');
var hot = new Handsontable(container, {
data: rows,
rowHeaders: true,
colHeaders: true
});
您还可以在 Hansontable
配置中设置 object colHeaders: columns
以获取列标题而不是字母