I am using the stable build version Stable release v2.1.2 of the fixed header jquery plugin. I am trying to fix my table header. I have created the table using Angular datatables as mentioned over here.
In my controller class I have written the following code,
app.controller(SampleController, function ($scope) {
$(document).ready( function () {
var table = $('#example').DataTable();
new $.fn.dataTable.FixedHeader( table );
});
});
My HTML is as follows,
<table id=example datatable=ng dt-options=dtOptions dt-column-defs=dtColumnDefs fix-header>
<thead>
<tr>
<th>Name </th>
</tr>
</thead>
<tbody>
<tr ng-repeat=item in items>
<td>{{item.name}} </td>
</tr>
</tbody>
</table>
However when i run my application, i get the following error,
TypeError: Cannot read property 'childNodes' of undefined
I also tried using the following directive as I am aware that DOM manipulations should not be done in Controller but I get the following error.
TypeError: Cannot set property '_oPluginFixedHeader' of undefined
UPDATE:
my directive
app.directive('fixHeader', function () {
return {
restrict: 'AE', //attribute or element
replace: true,
link: function ($scope, elem, attr) {
$scope.table = elem.find(#example);
console.log($scope.table);
var table= $scope.table.dataTable();
new $.fn.dataTable.FixedHeader(table);
}
};
});
Please can someone suggest a better solution?
I am using version 2.1.2 of dataTables.fixedHeader.js and my error comes in below line
var dt = $.fn.dataTable.Api ?
new $.fn.dataTable.Api( mTable ).settings()[0] :
mTable.fnSettings();
dt._oPluginFixedHeader = this; //error over here