यहाँ थोड़ा और पूरी तरह से चित्रित उत्तर है जो प्रति कॉलम आधार पर कुछ उपयोगकर्ता सहभागिता प्रदान करता है। यदि यह एक गतिशील अनुभव होने जा रहा है, तो प्रत्येक स्तंभ पर एक क्लिक करने योग्य टॉगल होना चाहिए जो स्तंभ को छिपाने की क्षमता को इंगित करता है, और फिर पहले से छिपे हुए कॉलम को पुनर्स्थापित करने का एक तरीका है।
यह जावास्क्रिप्ट में कुछ इस तरह दिखेगा:
$('.hide-column').click(function(e){
var $btn = $(this);
var $cell = $btn.closest('th,td')
var $table = $btn.closest('table')
// get cell location - https://stackoverflow.com/a/4999018/1366033
var cellIndex = $cell[0].cellIndex + 1;
$table.find(".show-column-footer").show()
$table.find("tbody tr, thead tr")
.children(":nth-child("+cellIndex+")")
.hide()
})
$(".show-column-footer").click(function(e) {
var $table = $(this).closest('table')
$table.find(".show-column-footer").hide()
$table.find("th, td").show()
})
इसका समर्थन करने के लिए, हम तालिका में कुछ मार्कअप जोड़ेंगे। प्रत्येक कॉलम हेडर में, हम कुछ क्लिक करने योग्य का दृश्य संकेतक प्रदान करने के लिए इस तरह से कुछ जोड़ सकते हैं
<button class="pull-right btn btn-default btn-condensed hide-column"
data-toggle="tooltip" data-placement="bottom" title="Hide Column">
<i class="fa fa-eye-slash"></i>
</button>
हम उपयोगकर्ता को तालिका पाद लेख में एक लिंक के माध्यम से कॉलम को पुनर्स्थापित करने की अनुमति देंगे। यदि यह डिफ़ॉल्ट रूप से लगातार नहीं है, तो इसे हेडर में गतिशील रूप से टॉगल करके टेबल के चारों ओर घूमा जा सकता है, लेकिन आप इसे वास्तव में कहीं भी रख सकते हैं:
<tfoot class="show-column-footer">
<tr>
<th colspan="4"><a class="show-column" href="#">Some columns hidden - click to show all</a></th>
</tr>
</tfoot>
यही बुनियादी कार्यक्षमता है। यहाँ एक डेमो नीचे कुछ और चीजों के साथ बाहर fleshed है। आप इसके उद्देश्य को स्पष्ट करने में मदद करने के लिए बटन के लिए एक टूलटिप भी जोड़ सकते हैं, बटन को टेबल हेडर पर थोड़ा और व्यवस्थित रूप से स्टाइल कर सकते हैं, और संक्रमण को थोड़ा कम करने के लिए कुछ (कुछ विजयी) सीएसएस एनिमेशन को जोड़ने के लिए कॉलम की चौड़ाई को घटा सकते हैं। उछल।
कार्यशील jsFiddle और स्टैक स्निपेट्स में डेमो :
$(function() {
// on init
$(".table-hideable .hide-col").each(HideColumnIndex);
// on click
$('.hide-column').click(HideColumnIndex)
function HideColumnIndex() {
var $el = $(this);
var $cell = $el.closest('th,td')
var $table = $cell.closest('table')
// get cell location - https://stackoverflow.com/a/4999018/1366033
var colIndex = $cell[0].cellIndex + 1;
// find and hide col index
$table.find("tbody tr, thead tr")
.children(":nth-child(" + colIndex + ")")
.addClass('hide-col');
// show restore footer
$table.find(".footer-restore-columns").show()
}
// restore columns footer
$(".restore-columns").click(function(e) {
var $table = $(this).closest('table')
$table.find(".footer-restore-columns").hide()
$table.find("th, td")
.removeClass('hide-col');
})
$('[data-toggle="tooltip"]').tooltip({
trigger: 'hover'
})
})
body {
padding: 15px;
}
.table-hideable td,
.table-hideable th {
width: auto;
transition: width .5s, margin .5s;
}
.btn-condensed.btn-condensed {
padding: 0 5px;
box-shadow: none;
}
/* use class to have a little animation */
.hide-col {
width: 0px !important;
height: 0px !important;
display: block !important;
overflow: hidden !important;
margin: 0 !important;
padding: 0 !important;
border: none !important;
}
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.css">
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/bootswatch/3.3.7/paper/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.css">
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
<table class="table table-condensed table-hover table-bordered table-striped table-hideable">
<thead>
<tr>
<th>
Controller
<button class="pull-right btn btn-default btn-condensed hide-column" data-toggle="tooltip" data-placement="bottom" title="Hide Column">
<i class="fa fa-eye-slash"></i>
</button>
</th>
<th class="hide-col">
Action
<button class="pull-right btn btn-default btn-condensed hide-column" data-toggle="tooltip" data-placement="bottom" title="Hide Column">
<i class="fa fa-eye-slash"></i>
</button>
</th>
<th>
Type
<button class="pull-right btn btn-default btn-condensed hide-column" data-toggle="tooltip" data-placement="bottom" title="Hide Column">
<i class="fa fa-eye-slash"></i>
</button>
</th>
<th>
Attributes
<button class="pull-right btn btn-default btn-condensed hide-column" data-toggle="tooltip" data-placement="bottom" title="Hide Column">
<i class="fa fa-eye-slash"></i>
</button>
</th>
</thead>
<tbody>
<tr>
<td>Home</td>
<td>Index</td>
<td>ActionResult</td>
<td>Authorize</td>
</tr>
<tr>
<td>Client</td>
<td>Index</td>
<td>ActionResult</td>
<td>Authorize</td>
</tr>
<tr>
<td>Client</td>
<td>Edit</td>
<td>ActionResult</td>
<td>Authorize</td>
</tr>
</tbody>
<tfoot class="footer-restore-columns">
<tr>
<th colspan="4"><a class="restore-columns" href="#">Some columns hidden - click to show all</a></th>
</tr>
</tfoot>
</table>