λ°μ΄ν° ν μ΄λΈμ΄μλ μΈλΆ μ 보 νμ΄ μμ΅λλ€. μΈλΆ μ 보 νμ΄ μ λλ‘ μλνμ§λ§ λ€λ₯Έ νμ΄μ§λ‘ μ΄λνλ©΄ μ€λ₯κ° λ°μν©λλ€.
μ¬κΈ° λ΄ HTML
<table id="dt_basic" class="table table-striped table-hover" width="100%">
<thead>
<tr>
<th></th>
<th class="text-center">ID</th>
<th class="text-center">Nama Bank</th>
<th class="text-center">Nama Akun</th>
<th class="text-center">No. Rekening</th>
<th class="text-center">Actions</th>
</tr>
</thead>
</table>
<script src="<?php echo ASSETS_URL; ?>/js/handlebars-v4.0.10.js"></script>
<script id="details-template" type="text/x-handlebars-template">
<table class="table">
<tr>
<td>Detail Info :</td>
<td>Tidak ada informasi tambahan </td>
</tr>
</table>
</script>
λ΄ JS
var template = Handlebars.compile($("#details-template").html());
$('#dt_basic').dataTable({
processing: true,
serverSide: true,
ajax: 'datatables/dataBank',
columns: [
{
"className": 'details-control',
"orderable": false,
"searchable": false,
"data": null,
"defaultContent": ''
},
{ data: 'id', name: 'id', orderable:true},
{ data: 'nama_bank', name: 'nama_bank', orderable:true },
{ data: 'nama_akun', name: 'nama_akun',orderable:true },
{ data: 'no_rek', name: 'no_rek',orderable:true },
{ data: 'action', name: 'action', 'searchable':false },
],
"sDom": "<'dt-toolbar hidden-print'<'col-xs-12 col-sm-11'f><'col-sm-1 col-xs-12 hidden-xs'l>r>"+
"t"+
"<'dt-toolbar-footer hidden-print'<'col-sm-6 col-xs-12 hidden-xs'i><'col-xs-12 col-sm-6'p>>",
"autoWidth" : true,
"preDrawCallback" : function() {
// Initialize the responsive datatables helper once.
if (!responsiveHelper_dt_basic) {
responsiveHelper_dt_basic = new ResponsiveDatatablesHelper($('#dt_basic'), breakpointDefinition);
}
},
"rowCallback" : function(nRow) {
responsiveHelper_dt_basic.createExpandIcon(nRow);
},
"drawCallback" : function(oSettings) {
responsiveHelper_dt_basic.respond();
},
order: [[1, 'desc']],
"lengthMenu": [[5, 10, 25, 50, 100, -1], [5, 10, 25, 50, 100, "All"]],
'iDisplayLength': 50,
});
$('#dt_basic tbody').on('click', 'td.details-control', function () {
var tr = $(this).closest('tr');
var row = table.row( tr );
if ( row.child.isShown() ) {
// This row is already open - close it
row.child.hide();
tr.removeClass('shown');
}
else {
// Open this row
row.child( template(row.data()) ).show();
tr.addClass('shown');
}
});
ν νμ΄μ§μ λ¨Έλ¬Όλ©΄μ λ°μ΄ν° ν μ΄λΈμ μ‘μΈμ€νλ©΄ λͺ¨λ κ²μ΄ μ μλν©λλ€. νμ§λ§ λ€λ₯Έ νμ΄μ§λ‘ μ΄λνλ©΄μ΄ μ€λ₯κ° λ°μν©λλ€.
jquery.dataTables.min.js:62 Uncaught TypeError: Cannot read property 'style' of undefined
at Ha (jquery.dataTables.min.js:62)
at Z (jquery.dataTables.min.js:13)
at t.<anonymous> (jquery.dataTables.min.js:126)
at t.iterator (jquery.dataTables.min.js:100)
at t.<anonymous> (jquery.dataTables.min.js:126)
at Function.adjust (jquery.dataTables.min.js:103)
at t.<anonymous> (jquery.dataTables.min.js:126)
at t.visible (jquery.dataTables.min.js:103)
at t.<anonymous> (jquery.dataTables.min.js:138)
at t.iterator (jquery.dataTables.min.js:100)
λ΄κ° μ΄κ²μ μμ ν λ
{
"className": 'details-control',
"orderable": false,
"searchable": false,
"data": null,
"defaultContent": ''
},
μ€λ₯κ° λ°μνμ§λ§ λ΄ ν
μ΄λΈμ νμ ν / μΈλΆ νμ΄ μμ΅λλ€. Arjay λμμ£ΌμΈμ
λ©μ§ λ°μ΄ν° ν
μ΄λΈμ κ°μ¬λ립λλ€.
νμ΄μ§ 맀κΉκ³Ό κ°μ dataTableμ λ€λ₯Έ νμ₯μ μ¬μ©νκ³ μμ΅λκΉ? λλ μ μ μ΄κ²μ λ§λ¬κ³ μΌλΆ νμ₯μ μ κ±°νμ¬ μμ νλ€κ³ μκ°ν©λλ€.
λ€λ₯Έ λ°μ΄ν° ν
μ΄λΈ νμ₯μ μ¬μ©νμ§ μμ΅λλ€. SmartAdmin ν
νλ¦Ώμ μ¬μ©νκ³ μμΌλ©° μ΄λ―Έ λ°μ΄ν° ν
μ΄λΈμ΄ ν¬ν¨λμ΄ μμ΅λλ€.
μ΄ ν
νλ¦Ώμμ λͺ¨λ λ°μ΄ν° ν
μ΄λΈ jsλ₯Ό μ κ±°νκ³ yajra λ°μ΄ν° ν
μ΄λΈμ μ¬μ©ν©λλ€.
λͺ κ°μ§ μλ₯Ό λ€μ΄ λ³΄κ² μ΅λλ€. μ¬κΈ° λ΄ μ€ν¬λ¦° μ·μ νμΈνμμμ€.μ΄ λ¬Έμ λ₯Ό ν΄κ²°ν μ μκΈ°λ₯Ό λ°λλλ€. :)
μ΄κ²μ λΉ νμ΄μ§μ
λλ€. μ¬κΈ°μ μ무κ²λ μμ΅λλ€ ...
μ΄κ²μ λ°μ΄ν° ν
μ΄λΈ νμ΄μ§μ
λλ€. 첫 λ²μ§Έλ‘λ (λλ λ€λ₯Έ νμ΄μ§μμ 첫 λ²μ§Έλ‘λ). μ΄ λ°μ΄ν° ν
μ΄λΈμ μλ²½νκ² μλν©λλ€.
κ·Έλ° λ€μ λ€λ₯Έ νμ΄μ§λ‘ μ΄λν©λλ€. μ½κ² νμΈν μ μλλ‘ λΉ νμ΄μ§λ‘ μ΄λν©λλ€. κ·Έλ¦¬κ³ μ€λ₯κ° νμλ©λλ€. λΉ νμ΄μ§λ λ°μ΄ν°μμ΄ λ°μ΄ν° ν
μ΄λΈ νμ΄μ§λ‘ λ°λλλ€.
{
"className": 'details-control',
"orderable": false,
"searchable": false,
"data": null,
"defaultContent": ''
},
μ΄κ²μ μμ νλ©΄ evertyhingμ΄ μ μλνμ§λ§ datatablesμλ μΈλΆ νμ΄ μμ΅λλ€. 미리 κ°μ¬λ립λλ€.
λλ μ΄κ²μ κ³ μΉλ λ°©λ²μ λͺ¨λ₯Έλ€. ur λ΅λ³ arjay μ£Όμ
μ κ°μ¬ν©λλ€.
μ΄ μκ° λ³κ²½λ©λκΉ? κ°μ λ¬Έμ κ° μμ§λ§ μ΄ μκ° λ³κ²½ λ λλ§ λ°μνλ κ² κ°μ΅λλ€. μ΄λ€ μ΄μ λ‘ dataTablesλ μ΄μ λ°λ³΅μμ λ¨μ μ΄ μλ₯Ό μ μ§νκ³ μ΄μ ν μ΄λΈμ νκ΄΄νμ§ μμ΅λλ€. λλ νκ΄΄λ₯Ό μ°ΈμΌλ‘ μ€μ νμ΅λλ€.
μλ΅μ΄ λ¦μ΄μ μ£μ‘ν©λλ€. μ μκ°μλ μ΄κ²μ μ€μ λ‘ μ΄ μμ κ΄λ ¨μ΄ μμ΅λλ€. HTMLμμ <th>
λ° <td>
μκ° λμΌν μ§ νμΈνμμμ€.
λμκ² λ¬Έμ λ κΈ°λ₯μ μμ¬κ° μ£Όμμ κ±Έλ €μμ΄μ κ·Έ μμ¬λ₯Ό νκ΄΄ν΄μΌνλ€λ κ²μ΄ μμ΅λλ€.
var myDataTable = $("#" + this.options.id).DataTable(myOptions);
myDataTable.destroy(true);
const tableNode = $("<table id='164154654'></table>")
$(someContainer).append(tableNode);
ν μ΄λΈ λ Έλλ₯Ό μ μ₯νκ³ μμ ν νκ΄΄ ν λ€μ λ€μ μμ±νμ¬ λ¬Έμ λ₯Ό ν΄κ²°νμ΅λλ€.
λ΄ λ¬Έμ λ μ¬μ ν μ‘΄μ¬ν©λλ€. κ·Έλμ μ λμ΄ κΈ°λ₯μ μ¬μ©νμ§ μμ κ²μ΄λΌκ³ μκ°ν©λλ€. ν€ν€
μλ΅ ν΄ μ£Όμ μ κ°μ¬ν©λλ€.
λΏ‘λΏ‘
ν
μ΄λΈμ <th></th>
λ£μ΄
μ΄λ κ² μ¬μ©
`ν¨μ νμ (d) {
// console.log (d);
var data = "
μ λΆμ¦ | "+μμμΌ | "+κ²μ¦ λ¨ | "+μ μ°¨ | "+μ£Όμ | "+μΌλ° μ°Έκ³ μ¬ν | "+μ§λΆ | "+λ°ν λ | "+
κ°μ¬ν©λλ€ @gordett. λ μ΄μ λ°μ΄ν° ν μ΄λΈμ μ¬μ©νμ§ μμ΅λλ€. vuejsλ‘ λλ§μ ν μ΄λΈ κ΅¬μ± μμλ₯Ό λΉλνκ³ μμ΅λλ€.
λ΅μ₯μ λ³΄λ΄ μ£Όμ μ κ°μ¬ν©λλ€
μλ
νμΈμ, angularμμ jquery datatableμ μ¬μ©νλ λ¬Έμ κ° μμ΅λλ€. λ¬Έμ λ λ΄ thμ td λͺ¨λ APIμμ μμ§λ§ μ²μκ³Ό λ λ²μ§Έλ‘ μ λλ‘ μλνμ§λ§ μ¬λ°λ₯Έ λ°μ΄ν°λ₯Ό νμνμ§λ§ νν° λ° κ²μμ μ΄μ λ°μ΄ν°μμλ§ μλν©λλ€.
λꡬλμ΄ λ¬Έμ λ₯Ό ν΄κ²°ν μ μμ΅λλ€.
tabledestroy μ¬μ©
if ($ .fn.DataTable.isDataTable ( '# mytable2'))
{
$ ( '# mytable2'). DataTable (). destroy ();
}
$ ( '# mytable2 tbody'). empty ();
κ°μ₯ μ μ©ν λκΈ
μλ΅μ΄ λ¦μ΄μ μ£μ‘ν©λλ€. μ μκ°μλ μ΄κ²μ μ€μ λ‘ μ΄ μμ κ΄λ ¨μ΄ μμ΅λλ€. HTMLμμ
<th>
λ°<td>
μκ° λμΌν μ§ νμΈνμμμ€.