私はdjangodatatableを使用していますが、サーバーからのデータは次の形式になっています。
[ ['id_value','data col1','data col2',...]
.
.
.]
私は次のようにすべての行にIDを作成しようとしています:
'rowId': 1,
しかし、それは機能しません
私のhtmlコード:
<table id="mainDataTable" class="table table-responsive-md table-{{ documentvals.table_type }}">
<thead>
<tr>
{% for field in list_fields %}
<th> {{ field }}</th>
{% endfor %}
</tr>
</thead>
<tbody>
</tbody>
<tfoot>
<tr>
{% for field in list_fields %}
<th> {{ field }}</th>
{% endfor %}
</tr>
</tfoot>
</table>
また、私のjsコードは次のとおりです。
let _columns= [
{% for field in list_fields %}
{ "data": '{{ field }}' },
{% endfor %}
]
$('#mainDataTable').DataTable({
"paging": true,
"lengthChange": true,
"searching": true,
"ordering": true,
"info": true,
"columns": _columns,
"autoWidth": false,
"responsive": true,
"aaSorting": [],
"pageLength": pag,
"bProcessing": true,
"bServerSide": true,
"ajax": {
"url": mainUrl,
},
'rowId': 1,
"pagingType": "full_numbers",
destroy: true,
});
Djangoデータテーブルライブラリを編集したくありませんでした。
私の理解では、あなたはS.No.のようなものを与えようとしていると思います。rowId
どんな目的のためにでもあなたのテーブルに。
enumerate
これを実現するには、Pythonのようなものが必要になる場合があります。この場合、djangoテンプレートでforloopカウンターを使用できます。これは、次のように複数のバリエーションで利用できます。
参考までに、jsファイルの_columns
変数for
ループでこれを使用する方法は次のとおりです
let _columns= [
{% for field in list_fields %}
{ "data": '{{ field }}', "rowId": '{{forloop.counter}}' },
{% endfor %}
]
同様に、テーブルでも使用できます。
forloopのドキュメントをテンプレート化した公式のdjangoをご覧になることを強くお勧めします。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加