javascript - 从第二列开始填充数据表
问题描述
我有一个从 api 检索 json 数据的数据表。表格的第一列应该只包含一个复选框。但是,在检索数据时,它也会填充第一列。
$.getJSON('https://api.myjson.com/bins/o44x', function(json) {
$('#parametrictable').DataTable({
data : json.data,
columns : json.columns,
columnDefs: [ {
orderable: false,
className: 'select-checkbox',
targets: 0
} ],
select: {
style: 'os',
selector: 'td:first-child'
},
order: [[ 1, 'asc' ]]
})
});
有什么方法可以设置数据只能从第二列开始填充,而第一列只包含复选框?
解决方案
您可以通过更新 api 或在您的 js 代码中仅将data
键值更新为数组null
中的第一个对象来解决此问题,json.columns
例如:
$.getJSON('https://api.myjson.com/bins/o44x', function(json) {
json.columns[0].data = null;
json.columns[0].defaultContent = '';
$('#parametrictable').DataTable({
data: json.data,
columns: json.columns,
.... your rest of code
})
});
编辑:
我的意思是你的建议只是隐藏与复选框重叠的数据。我不想把它隐藏起来。我希望第一列默认情况下只有复选框。重叠的数据应该在第二列。
您可以像这样更新您的 API 来实现:
"columns": [
{
"data": null,
"defaultContent": ""
},
{
"data": "DT_RowId",
"title": "Id"
},
{
"data": "supplier",
"title": "supplier"
},
{
"data": "color",
"title": "color"
}
],
或者,您可以在不修改 API 的情况下更新代码,例如:
$.getJSON('https://api.myjson.com/bins/o44x', function(json) {
// Add object for checkbox at first position
json.columns.unshift({"data": null, "defaultContent": ""});
$('#parametrictable').DataTable({
data: json.data,
columns: json.columns,
....your rest of code
})
});
推荐阅读
- powershell - powershell - 在删除之前检查文件夹是否存在
- java - 创建/运行 Pod 时如何在 kubectl 中传递运行时参数?
- python - TypeError:参数“weight_decay”的多个值
- unicode - 如何在 LaTex 中编译 Unicode 字符?
- r - 如何通过在循环中创建多个向量来附加向量
- python - 如何修复未打开的ui页面?
- c# - Xamarin.Forms 可以通过 Wi-FI 在 iPhone(真实设备)上工作,而无需连接到来自 VS 2019 CE Windows 10 的真实 Mac Os?
- javascript - 在 typescript 和 webpack 中访问 fs 模块
- c++ - 获取:-1:错误:[Makefile.Debug:71: debug/Tappian_Ball.exe] 尝试使用 LIBS 时出现错误 1
- flutter - Flutter - 如何更改推送通知背景颜色