2010-05-16 9 views
5

मेरे पास एक डेटा तालिका है जो प्रारंभ में खाली है और किसी विशेष जावास्क्रिप्ट कॉल के बाद पॉप्युलेट की गई है। तालिका में डेटा डालने के बाद, मैं कॉलम में से किसी एक डेटा को केंद्र में रखना चाहता हूं। मैं इस तरह से प्रारंभ कदम पर इस निर्दिष्ट करने की कोशिश की:JQuery डेटाटेबल प्रश्न: डेटा सम्मिलन के बाद कॉलम डेटा को केंद्रित करना

dTable = $('#dt').datatable({ 'aoColumns': [ null, null, { "sClass" : "center" }] }); 

तीसरे स्तंभ में डेटा केंद्रित नहीं किया गया था के बाद सम्मिलन पूर्ण थे।

dTable.fnSettings().aoColumns[2].sClass = "center"; 
dTable.fnDraw(); 

यह या तो काम नहीं किया: मैं सम्मिलन के बाद aoColumns को संशोधित करने और मेज redrawing रूप में अच्छी तरह की कोशिश की। तो मेरा सवाल यह है कि मैं तीसरे कॉलम में डेटा को केंद्र में रखने के लिए डेटा टेबल को बताने के बारे में कैसे जाना चाहिए?

आपके सुझावों के लिए अग्रिम धन्यवाद।

क्रिस

+0

आप सीएसएस का उपयोग क्यों नहीं कर सकते? – Mottie

+0

मैं टेबल कोशिकाओं का निरीक्षण करने के लिए फ़ायरबग का उपयोग करने की सलाह दूंगा ताकि यह पता चल सके कि कौन सी शैलियों को लागू किया जा रहा है। शायद कुछ ओवरराइड किया जा रहा है? – Favio

+0

@ फ़ूजी, मैंने शुरुआत में सीएसएस का उपयोग करने की कोशिश की लेकिन इसका कोई फायदा नहीं हुआ। प्रत्येक बार जब मैं एक पंक्ति जोड़ता हूं, तो मैं सरणी आर में डेटा जोड़ने के लिए एक dTable.fnAddRow (आर) कॉल का उपयोग कर रहा हूं। फाविब के साथ फायरबग के साथ घूमते हुए सुझाव दिया गया है कि आप टेबल बॉडी के पास विभिन्न कार्यों का समर्थन करने के लिए डेटाटेबल प्लग-इन द्वारा स्थापित एक विशेष संरचना है। मैं संरचना के बारे में जो कुछ देखा है, उसे हल करने के लिए शायद सीएसएस का उपयोग कर सकता हूं लेकिन यह सुरुचिपूर्ण से बहुत दूर है। एक बेहतर तरीका होना चाहिए। – Chris

उत्तर

2

अगर मैं तुम्हें सही ढंग से समझ, अपनी मेज AJAX के डेटा से एकाधिक स्तंभों के साथ एकाधिक पंक्तियों हो जाता है। तीसरा कॉलम केंद्रित होना चाहिए। इस आजमाएं:

$.ajax({ 
    url: 'ajax/test.html', 
    success: function(data) { //after AJAX completes 
    //fill the table. 
    $('#dt').children('tr').each(function(){ //for each row 
     $(this).children('td').eq(2).attr('align', 'center'); //center the third column. 
    }); 
    } 
}); 

वैकल्पिक रूप से, अगर आप विशेषताओं का उपयोग पसंद नहीं है, आप .attr(attributeName, value) का उपयोग कर या .css(propertyName, value) का उपयोग कर शैली विशेषता सेट कर सकते हैं, या .addClass() के साथ एक वर्ग जोड़ें।

+0

धन्यवाद ब्रैडली। मैंने कुछ ऐसा किया, जो डेटाटेबल बनाने से पहले तालिका को पॉप्युलेट करने के लिए JQuery पर वापस लौट आया। इस तरह मैं तीसरे कॉलम में प्रविष्टियों के लिए एक वर्ग जोड़ सकता हूं और उन्हें सीएसएस के साथ केंद्रित कर सकता हूं। अब मुझे इसके निर्माण के बाद डेटाटेबल अपडेट करने में समस्याएं आ रही हैं। अधिक जांच की जरूरत है। – Chris

संबंधित मुद्दे