Matched with your requirements!
Check the link: https://datatables.net/extensions/buttons/examples/column_visibility/columnsToggle.html 1. You can sort any columns by ascending or descending order. 2. You can select which column to show. and This link: https://datatables.net/examples/basic_init/hidden_columns.html 3. Select number of rows to show. Here two different links for different requirements. But those two can be merged easily. Using this plug-in, I can help you to modify the existing examples regarding the requirements and design. Thanks.