2012-03-06 2 views
0

Я показываю следующую информацию, используя jQuery datatables. ID, Titles, Address, City, ZipCode Строки в ID просто содержат ссылку, которая ссылается на страницу сведений о продукте, что приятно, однако текст говорит «Вид» для каждой строки. Это глупо. Я хотел бы скрыть/удалить столбец идентификатора и сделать титры доступными для кликов, то есть когда щелкнут заголовок, тогда пользователь должен быть перенесен на страницу сведений. Другими словами, я хочу, чтобы столбец заголовка использовал функции столбца Id.jQuery DataTable clickable Titles

Это мой код.

$(document).ready(function() { 

    $('#myDataTable').dataTable({ 
     "bServerSide": true, 
     "sAjaxSource": "DataTable/AjaxHandler", 
     "bProcessing": true, 
     "aoColumns": [ 
         { "sName": "ID", 
          "bSearchable": false, 
          "bSortable": false, 
          "fnRender": function (oObj) { 
           return '<a href=\"' + oObj.aData[0] + '\">View</a>'; 
          } 
         }, 
         { "sName": "TITLE" }, 
         { "sName": "ADDRESS" }, 
         { "sName": "CITY" }, 
         { "sName": "ZIPCODE" } 
        ] 
    }); 
}); 

Я использую MVC 2.0

Надеется, что это имеет смысл.

ответ

0
$(document).ready(function() { 

$('#myDataTable').dataTable({ 
    "bServerSide": true, 
    "sAjaxSource": "DataTable/AjaxHandler", 
    "bProcessing": true, 
    "aoColumns": [ 
        { "sName": "ID", 
         "bSearchable": false, 
         "bSortable": false, 
         "fnRender": function (oObj) { 
          return '<a href=\"' + oObj.aData[0] + '\">View</a>'; 
         } 
        }, 
        { "sName": "TITLE", 
         "fnRender": function (oObj) { 
         var al = oObj.aData[0].split('>');       
         var al2 = al[0].split('=');       
         var al3 = al2[1].split('/');       
         return "<a href='\" + al3[al3.length-1] + "'>"oObj.aData[1] + "</a>"; 
        },"aTargets": [1] 

}, { "зЫат": "АДРЕС"}, { "зЫат": "ГОРОД"}, { "зЫат": "ZIPCODE"} ] }); });

Может быть, что помощь, она не может быть совершенной может работать

Для скрытия столбца Вы можете попробовать следующую ссылку show/Hide column in datatable

+0

Hi Amritpal Singh! Код, который вы предоставили, не работает! Случается, что когда я просматриваю данные в браузере, идентификаторы все еще присутствуют (я хочу, чтобы они ушли), и заголовок превратился в ссылки, что хорошо, это тоже хочу, я хочу, но ссылки не работают. PS. Я думаю, что в строке есть синтаксическая ошибка: return «"oObj.aData[1] + "»; , вместо этого он должен сказать: return «" + oObj.aData[1] + "»; – Ovis

+0

@ user806345 Вы хотите, чтобы столбец id не отображался. Пожалуйста, уточните немного –

+0

@ user806345 Я отредактировал свой ответ, вы можете проверить, подходит ли это решение. –

1

Hi код, который вы предоставили не работает. Мне удалось решить проблему самостоятельно, вот мой последний код для тех, которые могут быть в такой же ситуации.

$(document).ready(function() { 

$('#myDataTable').dataTable({ 
    "bServerSide": true, 
    "sAjaxSource": "DataTable/AjaxHandler", 
    "bProcessing": true, 
    "aoColumns": [ 
        { 
         "sName": "TITLE", //index 1 
         "bSearchable": true, 
         "bSortable": true, 
         "fnRender": function (oObj) 
         { 
          return '<a href=\"' + oObj.aData[0] + '\">' + oObj.aData["1"] + '</a>'; 
         }        
        } 
        , 
        { 
         "sName": "ADDRESS", //index 2 
         "bSearchable": true, 
         "bSortable": true, 
         "fnRender": function (oObj) 
         { 
          return oObj.aData["2"] 
         }        
        } 
        , 
              { 
         "sName": "CITY", //index 3 
         "bSearchable": true, 
         "bSortable": true, 
         "fnRender": function (oObj) 
         { 
          return oObj.aData["3"] 
         }        
        } 
        , 
              { 
         "sName": "ZIPCODE", //index 4 
         "bSearchable": true, 
         "bSortable": true, 
         "fnRender": function (oObj) 
         { 
          return oObj.aData["4"] 
         }        
        } 
       ] 
    }); 
});