मेरे पास लगभग 30 कॉलम के साथ HTML तालिका है और कहीं 10 से 500 आइश पंक्तियों के बीच है। मैं एक बटन क्लिक के कॉलम के एक सेट को दिखाना/छिपाना चाहता हूं।बड़ी तालिका प्रदर्शन पर jQuery शो/छुपा कॉलम
2 की कोशिश की है दृष्टिकोण
- तालिका के thead वीं के माध्यम से दोहराएं और .show() या .hide() वें और टीडी पर करते हैं।
- तालिका के थैड वें के माध्यम से पुनरावृत्त करें और TH और TD को दिखाने/छुपाने के लिए कक्षा बदलें।
फ़ंक्शन को निम्न स्निपेट के रूप में कार्यान्वित किया गया है। हालांकि, प्रदर्शन इतना अच्छा नहीं है। दिखाएँ/छुपाएं 20 कॉलम डेटा की 80 ~ 120 पंक्तियों पर लगभग 5 ~ 10 सेकंड लेते हैं।
मैं सोच रहा हूं कि क्या कुछ भी है जो हम इसे तेजी से करने के लिए कर सकते हैं।
function ToggleHeadVisibility(showHide) {
var index = 0;
$('#' + gridViewName + ' thead th').each(function(index) {
index++;
if (showHide == "SHOW") {
/*
$('#' + gridViewName + ' th:nth-child(' + (index) + ')').show();
$('#' + gridViewName + ' td:nth-child(' + (index) + ')').show();
*/
$('#' + gridViewName + ' th:nth-child(' + (index) + ')').removeClass('columnHide');
$('#' + gridViewName + ' td:nth-child(' + (index) + ')').removeClass('columnHide');
} else if (showHide = "HIDE") {
/*
//if (showColumnArray.has($(this).get(0).innerHTML)) {
if (showColumnArray.has($(this).attr('title'))) {
$('#' + gridViewName + ' th:nth-child(' + (index) + ')').show();
$('#' + gridViewName + ' td:nth-child(' + (index) + ')').show();
}
else {
$('#' + gridViewName + ' th:nth-child(' + (index) + ')').hide();
$('#' + gridViewName + ' td:nth-child(' + (index) + ')').hide();
}
*/
if (showColumnArray.has($(this).attr('title'))) {
$('#' + gridViewName + ' th:nth-child(' + (index) + ')').removeClass('columnHide');
$('#' + gridViewName + ' td:nth-child(' + (index) + ')').removeClass('columnHide');
} else {
$('#' + gridViewName + ' th:nth-child(' + (index) + ')').addClass('columnHide');
$('#' + gridViewName + ' td:nth-child(' + (index) + ')').addClass('columnHide');
}
}
});
}
दिखाएँ/छिपाएँ प्रदर्शन पर कुछ दिलचस्प तुलना http://www.learningjquery.com/2010/05/now-you-see-me-showhide-performance – Eatdoku