DataTables-大屏幕上的响应隐藏列

DataTables-大屏幕上的响应隐藏列,datatables,responsive,Datatables,Responsive,我对DataTables有一个问题-我想使用响应插件来隐藏较小屏幕上的列,不幸的是,响应插件在不需要的情况下隐藏较大屏幕上的列 以下是我的javascript代码: var table=$('#peopleTable').DataTable({ 回答:是的, 阿贾克斯:{ 数据类型:“文本”, 键入:“POST”, url:apiUrl, dataSrc:函数(json){ 返回$.parseJSON(json); } }, 栏目:[ { 数据:“名称”, 响应优先级:1, 宽度:“5%”, 呈

我对DataTables有一个问题-我想使用响应插件来隐藏较小屏幕上的列,不幸的是,响应插件在不需要的情况下隐藏较大屏幕上的列

以下是我的javascript代码:

var table=$('#peopleTable').DataTable({
回答:是的,
阿贾克斯:{
数据类型:“文本”,
键入:“POST”,
url:apiUrl,
dataSrc:函数(json){
返回$.parseJSON(json);
}
},
栏目:[
{
数据:“名称”,
响应优先级:1,
宽度:“5%”,
呈现:函数(数据、类型、行){
返回“”;
}
},
/*{
数据:“主要联系人”,
响应优先级:1,
宽度:“5%”
},*/
{ 
数据:“add1”,
响应优先级:1,
宽度:“5%”,
呈现:函数(数据、类型、行){
var输出=[];
if(row.add1){output.push(row.add1);}
if(row.add2){output.push(row.add2);}
if(row.add3){output.push(row.add3);}
if(row.town){output.push(row.town);}
var outputStr=output.join(',');
返回“”+outputStr+“”;
}
},
{
数据:“电话”,
响应优先级:1,
宽度:“5%”
},
/*{
数据:“电子邮件”,
响应优先级:1,
宽度:“5%”,
呈现:函数(数据、类型、行){
返回“”;
}
},*/
{
数据:“id”,
可订购:错误,
响应优先级:1,
宽度:“5%”,
呈现:函数(数据、类型、行){
var url='/people/person.php?id='+row.id;
返回“”
+ ''
;
}
}
]
});
正如您所看到的,我一直在玩弄代码,以便使所有列都显示在大屏幕上

当我开始的时候,我有更多的列(它们现在被注释掉了),我所有的宽度加起来都是100%,并且我将所有的
responsivePriority
s设置为正确的值(而不是它们都是1)

减少列数、设置较低的宽度、更改
responsivePriority
s——所有这些都没有效果,在大屏幕上,响应插件仍然坚持至少隐藏一列

我该怎么阻止这一切?我仍然希望使用附加组件,因为它在较小的屏幕上非常有用,但我不希望它在不需要时强制隐藏列

为了向您展示正在发生的事情,这里有一个屏幕截图-您可以看到巨大的几乎空的列,其中有足够的空间容纳另一列-但是DataTables坚持要在最左侧的
+
符号后面隐藏一列

为什么不直接使用

var table=$('#peopleTable').DataTable({
响应:window.innerWidth<1000?真:假,
...
})
我的意思是在不需要响应扩展时,不初始化它
1000
只是一个建议,“较大的屏幕尺寸”是相对的:)


演示->

响应扩展有许多配置,以确定列何时可见/隐藏

您可以使用
desktop
类指定窗口宽度大于或等于1024 px时显示的列

有关代码和演示,请参阅