2012-01-02 8 views
9

मैं डेटा टेबल का उपयोग कर डेटाबेस तालिका मान प्रदर्शित कर रहा हूं। मैं AJAX विधि का उपयोग कर ऐसा कर रहा हूँ। यहाँ कोडJquery डेटाटेबल्स अजाक्स विधि सेल संरेखण

$('#example1').dataTable({ 
       "bProcessing": true, 
       "sAjaxSource": "filename.php", 
       "bJQueryUI": true, 
       "sPaginationType": "full_numbers" 

      }); 

filename.php के उत्पादन में है

{ "aaData": [["1","<input type='checkbox' name='user'>&nbsp;Test Name","Leader","35"]] } 

एचटीएमएल कोड

<table cellpadding="0" cellspacing="0" border="0" class="display tablehead" id="example1"> 
       <thead> 
        <tr class="colhead newbg"> 
        <th width="17" align="center">No</th> 
        <th width="194" align="left">User</th> 
        <th width="56" align="left">Role</th> 
        <th width="31" align="right">AGE</th> 
        </tr> 
        </thead> 
        <tbody> 

        </tbody> 
       </table> 

ऊपर एचटीएमएल में आप पहले कॉलम देख सकते हैं मध्य संरेखित है और अगले दो कॉलम गठबंधन छोड़ दिए गए हैं और अंतिम एक सही गठबंधन है। लेकिन डेटा आउट में सभी केंद्र गठबंधन हैं। मैंने निम्नलिखित

{ "aaData": [["<div align='center'>1</div>","<div align='left'><input type='checkbox' name='user'>&nbsp;Test Name</div>","<div align='center'>Leader</div>","<div align='right'>35</div>"]] } 

अब मुझे सही प्रदर्शन मिला लेकिन उम्र के अनुसार क्रमबद्ध होने पर यह सही नहीं है। कृपया मदद करे। धन्यवाद

उत्तर

10

मुझे लगता है कि आप की तरह कुछ (उपयोग aoColumns) करना चाहिए:

$('#example1').dataTable({ 
       "bProcessing": true, 
       "sAjaxSource": "filename.php", 
       "bJQueryUI": true, 
       "sPaginationType": "full_numbers", 
      "aoColumns": [ 
         {"sClass": "center"}, 
         {"sClass": "left"}, 
         {"sClass": "left"}, 
         {"sClass": "right"}, 

      }); 

और फिर सही सीएसएस वर्गों को परिभाषित

.right{ 
    align: right; 
} 

.left{ 
    align: left; 
} 

.center{ 
    align: center; 
} 

इस तरह datatables में तत्वों और वर्गों जोड़कर हैंडल सॉर्टिंग सही ढंग से काम करता है। बेशक पहले JSON

+0

ग्रेट अपडेट किया। यह एक और आपको बताएगा। धन्यवाद –

+0

@ वसंतान.आरपी मैंने एक लिंक भी पोस्ट किया जहां आप AoColumns –

+0

के लिए दस्तावेज़ ढूंढ सकते हैं। –

0

आप तालिका शरीर में डीआईवी तत्वों को जोड़ नहीं सकते! आपको सभी डीआर तत्वों को सभी डीआईवी को टीडी में बदलना है और फिर उन्हें टीआर तत्व चींटी में जोड़ना है और फिर टीबी तत्व को टेबल बॉडी में जोड़ना है।

अद्यतन DIV तत्व में कोई विशेषता संरेखण नहीं है, आपको इसके लिए सीएसएस का उपयोग करना होगा।

+0

डेटा तालिकाओं के अनुसार इन तत्वों को स्वचालित रूप से टीडीएस के अंदर रखा जाएगा। इसलिए मुझे उन्हें संरेखित करने का एक तरीका चाहिए। धन्यवाद –

+0

वह ऐसा कर सकता है, लेकिन अगर वह ऐसा सॉर्टिंग काम नहीं करेगा (जब तक कि वह एचटीएमएल को बाहर नहीं निकालता। मुझे लगता है कि आप कक्षाओं का उपयोग डेटाटेबल्स एपीआई –

+0

के माध्यम से करने के लिए कर सकते हैं। मैंने अपना जवाब – Irmantas

0

अब मुझे सही प्रदर्शन मिला है लेकिन उम्र के अनुसार क्रमबद्ध होने पर यह सही नहीं है। कृपया मदद करे। धन्यवाद

जैसा कि आपके पास उस कॉलम में एचएमटीएल है, डेटाटेबल्स स्वचालित रूप से इसे 'स्ट्रिंग' प्रकार के रूप में पहचान लेगा और तदनुसार इसे सॉर्ट करेगा। यदि आप इसे संख्यात्मक रूप से सॉर्ट करना चाहते हैं, तो HTML डेटा को अलग करना, इस प्लग-इन का उपयोग करें: http://datatables.net/plug-ins/sorting#numbers_html