数据表 - 将列合并在一起

时间:2013-11-04 21:03:36

标签: merge datatables multiple-columns

我有这些数据库列,但我希望它们在一列中。我该怎么办?我认为有了mRender吗?

                    /* Address */  
        {"sTitle": "Address",
                    "bVisible": true,
                    "bSearchable": true},
        /* City */   
        {"sTitle": "City",
                    "bVisible": true,
                    "bSearchable": true},
        /* State */    
        {"sTitle": "State",
                    "bVisible": true,
                    "bSearchable": true},
        /* Zip */    
        {"sTitle": "Zip",
                    "bVisible": true,
                    "bSearchable": true},

2 个答案:

答案 0 :(得分:12)

前提是数据表get返回的列是address,city,state,zip 1-4

如果您返回的数据是常规数组

   { "mData": 0 , //or address field
     "mRender" : function ( data, type, full ) { 
     //data = mData
     //full is the full array address= [0] city = [1] state=[2] zip=[3] 
        return data+', '+full[1]+', '+full[2]+', '+full[3];}
      },

如果您的数据是关联数组

   { "mData": 'address' , 
     "mRender" : function ( data, type, full ) { 
        return data+', '+full['city']+', '+full['state']+', '+full['zip'];}
      },

或者你可以独立于mData调用mRender(虽然这种情况似乎不需要)

   { "mData": null , 
     "mRender" : function ( data, type, full ) { 
        return full['address']+', '+full['city']+', '+full['state']+', '+full['zip'];}
      },

编辑:对于数据表1.10,只需更改名称,删除“m”

   { "data": null , 
     "render" : function ( data, type, full ) { 
        return full['address']+', '+full['city']+', '+full['state']+', '+full['zip'];}
      },

*请注意,我不会考虑您是否将此数据存储在一列中,只是显示其完成情况

答案 1 :(得分:0)

$(document).ready(function() {
    $('#example').DataTable( {
        "columnDefs": [
            {
                // The `data` parameter refers to the data for the cell (defined by the
                // `data` option, which defaults to the column being worked with, in
                // this case `data: 0`.
                "render": function ( data, type, row ) {
                    return data +' ('+ row[3]+')';
                },
                "targets": 0
            },
            { "visible": false,  "targets": [ 3 ] }
        ]
    } );
} );