gpt4 book ai didi

javascript - 如何在slickgrid中动态添加列?

转载 作者:行者123 更新时间:2023-12-02 23:53:50 25 4
gpt4 key购买 nike

我正在尝试通过迭代 javascript 数组对象来将动态列添加到 slickgrid。

js数组中对象的格式为:

 auditor = {"firstName":"test audit manager","lastName":".","middleName":null,"partyId":"11140"}

var columns = [];
/*from the ajax result, I'm obtaining 'auditors' js array */

for (var key in auditors) {

var auditor = auditors[key];
var name = auditor["firstName"];

if(auditor["middleName"]){
name += auditor["middleName"];
}
if(auditor["lastName"]){
name += auditor["lastName"];
}
if(auditors[parseInt(key)+parseInt(1)]){
columns = columns += '{id: '+'"auditor_'+key+'", name: '+'"'+name+'"'+', field: '+'"auditor_'+key+'", editor: Slick.Editors.Text, width:80, minWidth:80, sortable:true, focusable:false},';
}
else{
columns = columns += '{id: '+'"auditor_'+key+'", name: '+'"'+name+'"'+', field: '+'"auditor_'+key+'", editor: Slick.Editors.Text, width:80, minWidth:80, sortable:true, focusable:false}';
}
}//end for loop

columns.replace(/\\\//g, "/");

var options = {
enableCellNavigation: true,
enableColumnReorder: false,
editable: true,
forceFitColumns: false,
enableCellNavigation: true,
//enableAddRow: true,
asyncEditorLoading: false,
autoEdit: true,
secondaryHeaderRowHeight: 25
};

$(function () {
grid = new Slick.Grid("#myGrid", data, columns, options);
grid.setSelectionModel(new Slick.CellSelectionModel());
var columnpicker = new Slick.Controls.ColumnPicker(columns, grid, options);

grid.onAddNewRow.subscribe(function (e, args) {
var item = args.item;
grid.invalidateRow(data.length);
data.push(item);
grid.updateRowCount();
grid.render();
});
});

最佳答案

您正确地将columns声明为顶部的数组,但稍后您要向其中添加字符串值。使用.push向数组添加元素,并且值不能是字符串。

类似于:

columns.push(
{
id: "auditor_" + key,
name: name,
field: "auditor_"+ key,
editor: Slick.Editors.Text,
width:80,
minWidth:80,
sortable:true,
focusable:false
}
);

那么显然,您的 .replace() 必须在数组的元素上完成,或者在为数组赋值之前完成。

关于javascript - 如何在slickgrid中动态添加列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55511917/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com