固定ヘッダー jquery pluginの安定ビルド バージョン Stable release v2.1.2 を使用しています。テーブルヘッダーを修正しようとしています。here で説明したように、Angular データテーブルを使用してテーブルを作成しました。
私のコントローラークラスでは、次のコードを書きました。
app.controller("SampleController", function ($scope) {
$(document).ready( function () {
var table = $('#example').DataTable();
new $.fn.dataTable.FixedHeader( table );
});
});
私のHTMLは次のとおりです。
<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>
ただし、アプリケーションを実行すると、次のエラーが発生します。
TypeError: 未定義のプロパティ 'childNodes' を読み取れません
Controller で DOM 操作を行うべきではないことを認識しているため、次のディレクティブも使用してみましたが、次のエラーが発生します。
TypeError: 未定義のプロパティ '_oPluginFixedHeader' を設定できません
アップデート:
私の指令
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);
}
};
});
誰かがより良い解決策を提案できますか?
バージョン2.1.2のdataTables.fixedHeader.jsを使用していますが、エラーは次の行に表示されます
var dt = $.fn.dataTable.Api ?
new $.fn.dataTable.Api( mTable ).settings()[0] :
mTable.fnSettings();
dt._oPluginFixedHeader = this; //error over here