Jquery Datatables-添加单个列选择筛选将删除固定列
我有一个html表,其中我需要冻结标题,冻结2个左列,并显示对所有其他列(而不是2个左列)进行筛选的选项。当我自己制作固定柱时,效果非常好。。但是,当我添加代码以包含对列的下拉筛选时,固定列选项不起作用。你知道我该怎么解决这个问题吗??代码如下:Jquery Datatables-添加单个列选择筛选将删除固定列,jquery,jquery-plugins,datatables,Jquery,Jquery Plugins,Datatables,我有一个html表,其中我需要冻结标题,冻结2个左列,并显示对所有其他列(而不是2个左列)进行筛选的选项。当我自己制作固定柱时,效果非常好。。但是,当我添加代码以包含对列的下拉筛选时,固定列选项不起作用。你知道我该怎么解决这个问题吗??代码如下: <script> $(document).ready(function () { $('#primary').DataTable({ initComplete: fun
<script>
$(document).ready(function () {
$('#primary').DataTable({
initComplete: function () {
this.api().columns([2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]).every(function () {
var column = this;
var select = $('<select><option value="">Show All</option></select>')
.appendTo($(column.header()))
.on('change', function () {
var val = $.fn.dataTable.util.escapeRegex(
$(this).val()
);
column
.search(val ? '^' + val + '$' : '', true, false)
.draw();
});
column.data().unique().sort().each(function (d, j) {
var val = $('<div/>').html(d).text();
select.append('<option value="' + val + '">' + val + '</option>');
});
});
},
paging: false,
sort: false,
scrollY: 500,
scrollX: true,
select: true,
fixedColumns: {
leftColumns: 2
},
fixedHeader: {
header: true,
},
});
});
</script>
$(文档).ready(函数(){
$('#primary')。数据表({
initComplete:函数(){
this.api()列([2,3,4,5,6,7,8,9,10,11,12,13,14,15,16])。每个(函数(){
var列=此;
var select=$(“全部显示”)
.appendTo($(column.header()))
.on('change',function(){
var val=$.fn.dataTable.util.escapeRegex(
$(this.val()
);
柱
.search(val?“^”+val+“$”:“”,true,false)
.draw();
});
column.data().unique().sort().each(函数(d,j){
var val=$('').html(d.text();
select.append(“”+val+“”);
});
});
},
分页:false,
排序:假,
卷轴:500,
是的,
选择:true,
固定列:{
左栏:2
},
固定标题:{
标题:对,
},
});
});
html表格:
<table id="1" class="table table-striped">
@if (Model.1Function != null)
{
<thead>
<tr>
@foreach (DataColumn column in (Model.1Function as DataTable).Columns)
{
<th>@column.ColumnName.ToUpper()</th>//header row
}
</tr>
</thead>
<tbody>
@if ((Model.1Function as DataTable).Rows.Count > 0)
{
foreach (DataRow dr in (Model.1Function as DataTable).Rows)
{
<tr>
@foreach (DataColumn column in (Model.1Function as DataTable).Columns)
{
<td style="max-width:200px; white-space:normal">
@dr[column].ToString()
</td>//write one row at a time.
}
</tr>
}
}
else
{
var count = (Model.1Function as DataTable).Columns.Count;
<tr>
<td colspan='@count' style="color:red;">
No Data Found.
</td>
</tr>
}
</tbody>
}
else
{
<tr>
<td style="color:red;">
@(Model.1Function .HasErrors != false ? Model.1Function .HasErrors.ToString() : "")
</td>
</tr>
}
</table>
@if(Model.1函数!=null)
{
@foreach(中的DataColumn列(Model.1函数作为DataTable.Columns)
{
@column.ColumnName.ToUpper()//头行
}
@if((Model.1函数作为DataTable).Rows.Count>0)
{
foreach(数据行dr in(Model.1函数为DataTable).Rows)
{
@foreach(中的DataColumn列(Model.1函数作为DataTable.Columns)
{
@dr[column].ToString()
//一次写一行。
}
}
}
其他的
{
var count=(Model.1函数为DataTable);
没有找到任何数据。
}
}
其他的
{
@(Model.1Function.HasErrors!=false?Model.1Function.HasErrors.ToString():“”)
}
解决这个问题的任何帮助都将是巨大的。提前感谢。我不小心在this.api()列数组中添加了一个额外的列。。这就是它失败的原因。一旦修好了,这就行了