I'm using jQuery DataTables in a project and I would like to know how to disable sorting for the last column. I want to implement this site-wide.
Right now I have the following code:
<!-- jQuery DataTable -->
<script src="../assets/js/plugins/dataTables/jquery.datatables.min.js"></script>
<script>
/* Default class modification */
$.extend( $.fn.dataTableExt.oStdClasses, {
"sWrapper": "dataTables_wrapper form-inline"
} );
/* API method to get paging information */
$.fn.dataTableExt.oApi.fnPagingInfo = function ( oSettings )
{
return {
"iStart": oSettings._iDisplayStart,
"iEnd": oSettings.fnDisplayEnd(),
"iLength": oSettings._iDisplayLength,
"iTotal": oSettings.fnRecordsTotal(),
"iFilteredTotal": oSettings.fnRecordsDisplay(),
"iPage": Math.ceil( oSettings._iDisplayStart / oSettings._iDisplayLength ),
"iTotalPages": Math.ceil( oSettings.fnRecordsDisplay() / oSettings._iDisplayLength )
};
}
/* Bootstrap style pagination control */
$.extend( $.fn.dataTableExt.oPagination, {
"bootstrap": {
"fnInit": function( oSettings, nPaging, fnDraw ) {
var oLang = oSettings.oLanguage.oPaginate;
var fnClickHandler = function ( e ) {
e.preventDefault();
if ( oSettings.oApi._fnPageChange(oSettings, e.data.action) ) {
fnDraw( oSettings );
}
};
$(nPaging).addClass('pagination').append(
'<ul>'+
'<li class="prev disabled"><a href="#">← '+oLang.sPrevious+'</a></li>'+
'<li class="next disabled"><a href="#">'+oLang.sNext+' → </a></li>'+
'</ul>'
);
var els = $('a', nPaging);
$(els[0]).bind( 'click.DT', { action: "previous" }, fnClickHandler );
$(els[1]).bind( 'click.DT', { action: "next" }, fnClickHandler );
},
"fnUpdate": function ( oSettings, fnDraw ) {
var iListLength = 5;
var oPaging = oSettings.oInstance.fnPagingInfo();
var an = oSettings.aanFeatures.p;
var i, j, sClass, iStart, iEnd, iHalf=Math.floor(iListLength/2);
if ( oPaging.iTotalPages < iListLength) {
iStart = 1;
iEnd = oPaging.iTotalPages;
}
else if ( oPaging.iPage <= iHalf ) {
iStart = 1;
iEnd = iListLength;
} else if ( oPaging.iPage >= (oPaging.iTotalPages-iHalf) ) {
iStart = oPaging.iTotalPages - iListLength + 1;
iEnd = oPaging.iTotalPages;
} else {
iStart = oPaging.iPage - iHalf + 1;
iEnd = iStart + iListLength - 1;
}
for ( i=0, iLen=an.length ; i<iLen ; i++ ) {
// Remove the middle elements
$('li:gt(0)', an[i]).filter(':not(:last)').remove();
// Add the new list items and their event handlers
for ( j=iStart ; j<=iEnd ; j++ ) {
sClass = (j==oPaging.iPage+1) ? 'class="active"' : '';
$('<li '+sClass+'><a href="#">'+j+'</a></li>')
.insertBefore( $('li:last', an[i])[0] )
.bind('click', function (e) {
e.preventDefault();
oSettings._iDisplayStart = (parseInt($('a', this).text(),10)-1) * oPaging.iLength;
fnDraw( oSettings );
} );
}
// Add / remove disabled classes from the static elements
if ( oPaging.iPage === 0 ) {
$('li:first', an[i]).addClass('disabled');
} else {
$('li:first', an[i]).removeClass('disabled');
}
if ( oPaging.iPage === oPaging.iTotalPages-1 || oPaging.iTotalPages === 0 ) {
$('li:last', an[i]).addClass('disabled');
} else {
$('li:last', an[i]).removeClass('disabled');
}
}
}
}
});
/* Show/hide table column */
function dtShowHideCol( iCol ) {
var oTable = $('#example-2').dataTable();
var bVis = oTable.fnSettings().aoColumns[iCol].bVisible;
oTable.fnSetColumnVis( iCol, bVis ? false : true );
};
/* Table #example */
$(document).ready(function() {
$('.datatable').dataTable( {
"sDom": "<'row'<'span6'l><'span6'f>r>t<'row'<'span6'i><'span6'p>>",
"sPaginationType": "bootstrap",
"oLanguage": {
"sLengthMenu": "_MENU_ records per page"
}
});
$('.datatable-controls').on('click','li input',function(){
dtShowHideCol( $(this).val() );
})
});
</script>
This question is related to
javascript
jquery
datatables
Read here
$('#example').dataTable({
"aoColumns": [
null,
null,
{ "bSortable": false }, // <-- disable sorting for column 3
null
]
});
http://datatables.net/usage/columns under bSortable
You can specify which columns to disable using aoColumnDefs
and aTargets
$('#example').dataTable({
"aoColumnDefs": [
{
"bSortable": false,
"aTargets": [ -1 ] // <-- gets last column and turns off sorting
}
]
});
Try to use minus sign for count from backside
<script>
$(document).ready(function () {
$('#example-2').DataTable({
'order':[],
'columnDefs': [{
"targets": [-1],
"orderable": false
}]
});
});
</script>
You can use the data attribute data-orderable="false"
.
<th data-orderable="false">Salary</th>
$(document).ready(function() {_x000D_
$('#example').DataTable()_x000D_
});
_x000D_
<link rel="stylesheet" href="https://cdn.datatables.net/1.10.16/css/dataTables.bootstrap4.min.css" />_x000D_
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>_x000D_
<script src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script>_x000D_
<script src="https://cdn.datatables.net/1.10.16/js/dataTables.bootstrap4.min.js"></script>_x000D_
_x000D_
<table id="example" class="display" style="width:100%">_x000D_
<thead>_x000D_
<tr>_x000D_
<th>Name</th>_x000D_
<th>Position</th>_x000D_
<th>Office</th>_x000D_
<th>Age</th>_x000D_
<th>Start date</th>_x000D_
<th data-orderable="false">Salary</th>_x000D_
</tr>_x000D_
</thead>_x000D_
<tbody>_x000D_
<tr>_x000D_
<td>Tiger Nixon</td>_x000D_
<td>System Architect</td>_x000D_
<td>Edinburgh</td>_x000D_
<td>61</td>_x000D_
<td>2011/04/25</td>_x000D_
<td>$320,800</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Garrett Winters</td>_x000D_
<td>Accountant</td>_x000D_
<td>Tokyo</td>_x000D_
<td>63</td>_x000D_
<td>2011/07/25</td>_x000D_
<td>$170,750</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Ashton Cox</td>_x000D_
<td>Junior Technical Author</td>_x000D_
<td>San Francisco</td>_x000D_
<td>66</td>_x000D_
<td>2009/01/12</td>_x000D_
<td>$86,000</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Cedric Kelly</td>_x000D_
<td>Senior Javascript Developer</td>_x000D_
<td>Edinburgh</td>_x000D_
<td>22</td>_x000D_
<td>2012/03/29</td>_x000D_
<td>$433,060</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Airi Satou</td>_x000D_
<td>Accountant</td>_x000D_
<td>Tokyo</td>_x000D_
<td>33</td>_x000D_
<td>2008/11/28</td>_x000D_
<td>$162,700</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Brielle Williamson</td>_x000D_
<td>Integration Specialist</td>_x000D_
<td>New York</td>_x000D_
<td>61</td>_x000D_
<td>2012/12/02</td>_x000D_
<td>$372,000</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Herrod Chandler</td>_x000D_
<td>Sales Assistant</td>_x000D_
<td>San Francisco</td>_x000D_
<td>59</td>_x000D_
<td>2012/08/06</td>_x000D_
<td>$137,500</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Rhona Davidson</td>_x000D_
<td>Integration Specialist</td>_x000D_
<td>Tokyo</td>_x000D_
<td>55</td>_x000D_
<td>2010/10/14</td>_x000D_
<td>$327,900</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Colleen Hurst</td>_x000D_
<td>Javascript Developer</td>_x000D_
<td>San Francisco</td>_x000D_
<td>39</td>_x000D_
<td>2009/09/15</td>_x000D_
<td>$205,500</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Sonya Frost</td>_x000D_
<td>Software Engineer</td>_x000D_
<td>Edinburgh</td>_x000D_
<td>23</td>_x000D_
<td>2008/12/13</td>_x000D_
<td>$103,600</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Jena Gaines</td>_x000D_
<td>Office Manager</td>_x000D_
<td>London</td>_x000D_
<td>30</td>_x000D_
<td>2008/12/19</td>_x000D_
<td>$90,560</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Quinn Flynn</td>_x000D_
<td>Support Lead</td>_x000D_
<td>Edinburgh</td>_x000D_
<td>22</td>_x000D_
<td>2013/03/03</td>_x000D_
<td>$342,000</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Charde Marshall</td>_x000D_
<td>Regional Director</td>_x000D_
<td>San Francisco</td>_x000D_
<td>36</td>_x000D_
<td>2008/10/16</td>_x000D_
<td>$470,600</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Haley Kennedy</td>_x000D_
<td>Senior Marketing Designer</td>_x000D_
<td>London</td>_x000D_
<td>43</td>_x000D_
<td>2012/12/18</td>_x000D_
<td>$313,500</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Tatyana Fitzpatrick</td>_x000D_
<td>Regional Director</td>_x000D_
<td>London</td>_x000D_
<td>19</td>_x000D_
<td>2010/03/17</td>_x000D_
<td>$385,750</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Michael Silva</td>_x000D_
<td>Marketing Designer</td>_x000D_
<td>London</td>_x000D_
<td>66</td>_x000D_
<td>2012/11/27</td>_x000D_
<td>$198,500</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Paul Byrd</td>_x000D_
<td>Chief Financial Officer (CFO)</td>_x000D_
<td>New York</td>_x000D_
<td>64</td>_x000D_
<td>2010/06/09</td>_x000D_
<td>$725,000</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Gloria Little</td>_x000D_
<td>Systems Administrator</td>_x000D_
<td>New York</td>_x000D_
<td>59</td>_x000D_
<td>2009/04/10</td>_x000D_
<td>$237,500</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Bradley Greer</td>_x000D_
<td>Software Engineer</td>_x000D_
<td>London</td>_x000D_
<td>41</td>_x000D_
<td>2012/10/13</td>_x000D_
<td>$132,000</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Dai Rios</td>_x000D_
<td>Personnel Lead</td>_x000D_
<td>Edinburgh</td>_x000D_
<td>35</td>_x000D_
<td>2012/09/26</td>_x000D_
<td>$217,500</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Jenette Caldwell</td>_x000D_
<td>Development Lead</td>_x000D_
<td>New York</td>_x000D_
<td>30</td>_x000D_
<td>2011/09/03</td>_x000D_
<td>$345,000</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Yuri Berry</td>_x000D_
<td>Chief Marketing Officer (CMO)</td>_x000D_
<td>New York</td>_x000D_
<td>40</td>_x000D_
<td>2009/06/25</td>_x000D_
<td>$675,000</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Caesar Vance</td>_x000D_
<td>Pre-Sales Support</td>_x000D_
<td>New York</td>_x000D_
<td>21</td>_x000D_
<td>2011/12/12</td>_x000D_
<td>$106,450</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Doris Wilder</td>_x000D_
<td>Sales Assistant</td>_x000D_
<td>Sidney</td>_x000D_
<td>23</td>_x000D_
<td>2010/09/20</td>_x000D_
<td>$85,600</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Angelica Ramos</td>_x000D_
<td>Chief Executive Officer (CEO)</td>_x000D_
<td>London</td>_x000D_
<td>47</td>_x000D_
<td>2009/10/09</td>_x000D_
<td>$1,200,000</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Gavin Joyce</td>_x000D_
<td>Developer</td>_x000D_
<td>Edinburgh</td>_x000D_
<td>42</td>_x000D_
<td>2010/12/22</td>_x000D_
<td>$92,575</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Jennifer Chang</td>_x000D_
<td>Regional Director</td>_x000D_
<td>Singapore</td>_x000D_
<td>28</td>_x000D_
<td>2010/11/14</td>_x000D_
<td>$357,650</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Brenden Wagner</td>_x000D_
<td>Software Engineer</td>_x000D_
<td>San Francisco</td>_x000D_
<td>28</td>_x000D_
<td>2011/06/07</td>_x000D_
<td>$206,850</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Fiona Green</td>_x000D_
<td>Chief Operating Officer (COO)</td>_x000D_
<td>San Francisco</td>_x000D_
<td>48</td>_x000D_
<td>2010/03/11</td>_x000D_
<td>$850,000</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Shou Itou</td>_x000D_
<td>Regional Marketing</td>_x000D_
<td>Tokyo</td>_x000D_
<td>20</td>_x000D_
<td>2011/08/14</td>_x000D_
<td>$163,000</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Michelle House</td>_x000D_
<td>Integration Specialist</td>_x000D_
<td>Sidney</td>_x000D_
<td>37</td>_x000D_
<td>2011/06/02</td>_x000D_
<td>$95,400</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Suki Burks</td>_x000D_
<td>Developer</td>_x000D_
<td>London</td>_x000D_
<td>53</td>_x000D_
<td>2009/10/22</td>_x000D_
<td>$114,500</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Prescott Bartlett</td>_x000D_
<td>Technical Author</td>_x000D_
<td>London</td>_x000D_
<td>27</td>_x000D_
<td>2011/05/07</td>_x000D_
<td>$145,000</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Gavin Cortez</td>_x000D_
<td>Team Leader</td>_x000D_
<td>San Francisco</td>_x000D_
<td>22</td>_x000D_
<td>2008/10/26</td>_x000D_
<td>$235,500</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Martena Mccray</td>_x000D_
<td>Post-Sales support</td>_x000D_
<td>Edinburgh</td>_x000D_
<td>46</td>_x000D_
<td>2011/03/09</td>_x000D_
<td>$324,050</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Unity Butler</td>_x000D_
<td>Marketing Designer</td>_x000D_
<td>San Francisco</td>_x000D_
<td>47</td>_x000D_
<td>2009/12/09</td>_x000D_
<td>$85,675</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Howard Hatfield</td>_x000D_
<td>Office Manager</td>_x000D_
<td>San Francisco</td>_x000D_
<td>51</td>_x000D_
<td>2008/12/16</td>_x000D_
<td>$164,500</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Hope Fuentes</td>_x000D_
<td>Secretary</td>_x000D_
<td>San Francisco</td>_x000D_
<td>41</td>_x000D_
<td>2010/02/12</td>_x000D_
<td>$109,850</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Vivian Harrell</td>_x000D_
<td>Financial Controller</td>_x000D_
<td>San Francisco</td>_x000D_
<td>62</td>_x000D_
<td>2009/02/14</td>_x000D_
<td>$452,500</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Timothy Mooney</td>_x000D_
<td>Office Manager</td>_x000D_
<td>London</td>_x000D_
<td>37</td>_x000D_
<td>2008/12/11</td>_x000D_
<td>$136,200</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Jackson Bradshaw</td>_x000D_
<td>Director</td>_x000D_
<td>New York</td>_x000D_
<td>65</td>_x000D_
<td>2008/09/26</td>_x000D_
<td>$645,750</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Olivia Liang</td>_x000D_
<td>Support Engineer</td>_x000D_
<td>Singapore</td>_x000D_
<td>64</td>_x000D_
<td>2011/02/03</td>_x000D_
<td>$234,500</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Bruno Nash</td>_x000D_
<td>Software Engineer</td>_x000D_
<td>London</td>_x000D_
<td>38</td>_x000D_
<td>2011/05/03</td>_x000D_
<td>$163,500</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Sakura Yamamoto</td>_x000D_
<td>Support Engineer</td>_x000D_
<td>Tokyo</td>_x000D_
<td>37</td>_x000D_
<td>2009/08/19</td>_x000D_
<td>$139,575</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Thor Walton</td>_x000D_
<td>Developer</td>_x000D_
<td>New York</td>_x000D_
<td>61</td>_x000D_
<td>2013/08/11</td>_x000D_
<td>$98,540</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Finn Camacho</td>_x000D_
<td>Support Engineer</td>_x000D_
<td>San Francisco</td>_x000D_
<td>47</td>_x000D_
<td>2009/07/07</td>_x000D_
<td>$87,500</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Serge Baldwin</td>_x000D_
<td>Data Coordinator</td>_x000D_
<td>Singapore</td>_x000D_
<td>64</td>_x000D_
<td>2012/04/09</td>_x000D_
<td>$138,575</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Zenaida Frank</td>_x000D_
<td>Software Engineer</td>_x000D_
<td>New York</td>_x000D_
<td>63</td>_x000D_
<td>2010/01/04</td>_x000D_
<td>$125,250</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Zorita Serrano</td>_x000D_
<td>Software Engineer</td>_x000D_
<td>San Francisco</td>_x000D_
<td>56</td>_x000D_
<td>2012/06/01</td>_x000D_
<td>$115,000</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Jennifer Acosta</td>_x000D_
<td>Junior Javascript Developer</td>_x000D_
<td>Edinburgh</td>_x000D_
<td>43</td>_x000D_
<td>2013/02/01</td>_x000D_
<td>$75,650</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Cara Stevens</td>_x000D_
<td>Sales Assistant</td>_x000D_
<td>New York</td>_x000D_
<td>46</td>_x000D_
<td>2011/12/06</td>_x000D_
<td>$145,600</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Hermione Butler</td>_x000D_
<td>Regional Director</td>_x000D_
<td>London</td>_x000D_
<td>47</td>_x000D_
<td>2011/03/21</td>_x000D_
<td>$356,250</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Lael Greer</td>_x000D_
<td>Systems Administrator</td>_x000D_
<td>London</td>_x000D_
<td>21</td>_x000D_
<td>2009/02/27</td>_x000D_
<td>$103,500</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Jonas Alexander</td>_x000D_
<td>Developer</td>_x000D_
<td>San Francisco</td>_x000D_
<td>30</td>_x000D_
<td>2010/07/14</td>_x000D_
<td>$86,500</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Shad Decker</td>_x000D_
<td>Regional Director</td>_x000D_
<td>Edinburgh</td>_x000D_
<td>51</td>_x000D_
<td>2008/11/13</td>_x000D_
<td>$183,000</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Michael Bruce</td>_x000D_
<td>Javascript Developer</td>_x000D_
<td>Singapore</td>_x000D_
<td>29</td>_x000D_
<td>2011/06/27</td>_x000D_
<td>$183,000</td>_x000D_
</tr>_x000D_
<tr>_x000D_
<td>Donna Snider</td>_x000D_
<td>Customer Support</td>_x000D_
<td>New York</td>_x000D_
<td>27</td>_x000D_
<td>2011/01/25</td>_x000D_
<td>$112,000</td>_x000D_
</tr>_x000D_
</tbody>_x000D_
<tfoot>_x000D_
<tr>_x000D_
<th>Name</th>_x000D_
<th>Position</th>_x000D_
<th>Office</th>_x000D_
<th>Age</th>_x000D_
<th>Start date</th>_x000D_
<th>Salary</th>_x000D_
</tr>_x000D_
</tfoot>_x000D_
</table>
_x000D_
As of v1.10.5 DataTables can also use initialization options read from HTML5 data-* attributes. This provides a mechanism for setting options directly in your HTML, rather than using Javascript.
Its work for me - you can try this
dataTable({ "paging": true, "ordering": false, "info": true, })
Do this in jQuery. The below code works well even if you columns generated automatically or not sure about the column number.
var table = $('#tbl').DataTable({
"columnDefs": [{ targets: 'no-sort', orderable: false }]});
and add a class 'no-sort' to whatever headers you want to disable sort like this..
<th class="no-sort">Header n</th>
This is work perfect for me if you don't allow sorting the first column then use
<script>
$(document).ready(function () {
$('#example2').DataTable({
'order':[],
'columnDefs': [{
"targets": 0,
"orderable": false
}]
});
});
</script>
here index row starts with 0, so put 0 in targets.
And if you disable sorting for one or more column then use,
<script>
$(document).ready(function () {
$('#example2').DataTable({
'order':[],
'columnDefs': [{
"targets": [0,3],
"orderable": false
}]
});
});
</script>
Above my checkbox column at 0 positions and Action column at 3rd position so sorting disable in both table.
for disable sorting on any column in datatable use the following
aoColumnDefs: [{ "aTargets": [ 0 ], "bSortable": false}],
it means "aTargets": [ 0 ]
is the column id starting from 0
so in your case it becomes:
$(".tableSort").dataTable({
aaSorting: [[0, 'asc']],
aoColumnDefs: [
{ "aTargets": [ -1 ], "bSortable": false},
]
});
use this link http://datatables.net/ref#bSortable
$(document).ready( function() {
$('#example').dataTable( {
"aoColumnDefs": [{ "bSortable": false, "aTargets": [ 0 ] }]
} );
} );
On DataTable 1.9.x:
$('.dataTable').dataTable({
'aoColumnDefs': [{
'bSortable': false,
'aTargets': [-1], /* 1st colomn, starting from the right */
}]
});
While on 1.10.x
$('.dataTable').dataTable({
columnDefs: [{ orderable: false, "targets": -1 }] /* -1 = 1st colomn, starting from the right */
});
I would like to develop the current answer.
The good way is to use aoColumnDefs
as mentioned.
The default value for the bSortable
parameter is true
(for each column).
You've got 2 options...
var table = $('#example').DataTable({
'aoColumnDefs': [{
'bSortable': false,
'aTargets': [-1] /* 1st one, start by the right */
}]
});
var table = $('#example').DataTable({
'aoColumnDefs': [{
'bSortable': false,
'aTargets': ['nosort']
}]
});
Adding the class on the <th>
:
<table>
<thead>
<tr>
<th>Foo</th>
<th>Bar</th>
<th class="nosort">Baz</th>
</tr>
</thead>
<tbody>...</tbody>
</table>
Use this:
$(document).ready(function () {
$('#workPatternDataTable').dataTable({
//"aaSorting": [],
ajax: null,
columnDefs: [
{
targets: 0,
sortable: false,
autoWidth: false,
}
]
});
});
This has resolved my issue, just added data-orderable="false"
in <th></th>
like this <th data-orderable="false">Salary</th>
This would be useful for v1.10+ of datatables. Set column number for which you want to remove sorting for e.g 1st column would be like:
columnDefs: [
{ orderable: false, targets: 0 }
]
For multiple columns(1st,second and third):
columnDefs: [
{ orderable: false, targets: [0,1,2] }
]
Source: Stackoverflow.com