2016-04-08 11 views
5

पर आधारित Jquery डेटाटेबल्स ऑपरेशंस मैं पंक्ति सूचकांक के आधार पर एक डेटाटेबल पर पंक्तियों पर कुछ ग्रंथों और लिंक जोड़ने की कोशिश कर रहा हूं।पंक्ति सूचकांक

यह मेरा datatable प्रारंभ हिस्सा

<script> 
var datatablecompanyuser = null; 
$(document).ready(function() { 
    $.extend(true, $.fn.dataTable.defaults, { 
     "searching": false, 
     "ordering": false, 
     "paging": false 
    }); 

    var dataSourceUrl = "@Url.Action("CompanyUsersList", "Settings")"; 
    datatablecompanyuser = $('#datatablecompanyuser').dataTable({ 
     info: false, 
     ajax: { 
      "url": dataSourceUrl, 
      "type": "GET", 

     }, 
     columns: [ 
      { 
       "data": "Id", 
       "render": function (data, type, row) { 
        return "<label><input type='checkbox' value='" + data + "' name='chkGrid'><span class='text'></span></label>"; 
       } 
      }, 
      { "data": "Fullname" }, 
      { "data": "Email" }, 
      { "data": "CitizenIdNo" }, 
      { 
       "data": "CreateDate", 
       "render": function (data, type, row) { 
        return moment(parseInt(data.substr(6))).format('DD.MM.YYYY hh:mm'); 
       } 
      }, 
      { 
       "data": "Id", 
       "render": function (data, type, row) { 
        var table = $('#datatablecompanyuser').DataTable(); 
        if (table.row().index() == 0){ 
         return "<label>A</label>"} 
        else { 
         return "<label>B</label>"; 
        } 
       } 
      }, 
      { "data": "Id" }, 


     ], 
     language: { 
      "url": "//cdn.datatables.net/plug-ins/1.10.10/i18n/Turkish.json" 
     } 

    }); 

}); 
</script> 

मैं अन्य पंक्तियों पर पहली पंक्ति और "बी" पर पाठ 'ए' को जोड़ने के लिए कोशिश कर रहा हूँ है।

उपरोक्त कोड टुकड़े पर देखा गया, मैंने इसी तरह के कॉलम पर ऐसा कुछ करने की कोशिश की।

{ 
         "data": "Id", 
         "render": function (data, type, row) { 
          var table = $('#datatablecompanyuser').DataTable(); 
          if (table.row().index() == 0){ 
           return "<label>A</label>";} 
          else { 
           return "<label>B</label>"; 
          } 
         } 
        }, 

लेकिन प्रत्येक पंक्ति ए हो जाती है। मैं कुछ गलत कर रहा हूं लेकिन समझ में नहीं आता।

मुझे एक ही पंक्ति सूचकांक की आवश्यकता होगी जिसमें अगले कॉलम के लिए एक लिंक शामिल है (या नहीं) लेकिन मुझे लगता है कि अगर मैं इसे हल कर सकता हूं, तो बाकी आसान होगा।

+0

आप पंक्ति को निर्दिष्ट करना चाहिए में कहा गया है, table.row (पंक्ति) .index() 'का उपयोग कर == 0' – Nadir

+0

कोशिश 'table.row (पंक्ति) .index() == 0' या सीधे आप कॉलबैक में पंक्ति चर से अनुक्रमणिका तक नहीं पहुंच सकते हैं ?? –

+0

मुझे जेएस और jQuery के बारे में बहुत कुछ पता नहीं है। मुझे नहीं पता कि मैं इसे कर सकता हूं या नहीं। उपर्युक्त विधियों के अलावा सभी "ए" भी लौट रहे हैं। –

उत्तर

8

आप meta नामक रेंडर फ़ंक्शन में एक और पैरामीटर खो रहे हैं और यह पंक्ति और कॉलम अनुक्रमणिका संग्रहीत करता है। रेंडर फ़ंक्शन पैरामीटर पर अधिक जानकारी के लिए JQuery Datatables दस्तावेज़ देखें।

function (data, type, row, meta) { 
    if (meta.row == 0){ 
     return "<label>A</label>";} 
    else { 
     return "<label>B</label>"; 
    } 
} 

के रूप में प्रलेखन मेटा पैरामीटर केवल संस्करण में जोड़ा गया था 1.10.1

+0

काम करता है! सूचना के लिए धन्यवाद और उत्तर –

+0

धन्यवाद इससे मुझे भी मदद मिली –

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