I am using datatable plugin in a visualfroce page. Below warning popsup only at the time of page loading and table looks good after closing the alert.
Here is the code…
VisualForce Page
$('#mgtable').dataTable({
sPaginationType: "full_numbers", "bJQueryUI" : true,"sDom": '<"H"lfr>t<"F"ip>',
"aoColumnDefs": [
{ "aTargets":[ "mgName" ], "mData": "Name",sClass:"Name", "bAutoWidth": false },
{ "aTargets":[ "gcb" ], "mData": "CreatedBy.Name", sClass:"CBName", "bAutoWidth": false },
{ "aTargets":[ "desc" ], "mData": "Client_Group_Description__c", sClass:"CGDesc", "bAutoWidth": true }
],
"fnInitComplete": function(oSettings) {
MasterDetailListController1.refreshMasterGroupList(function(result, event){
if(event.type == 'exception') {
alert(event.message);
} else {
$('#mgtable').dataTable().fnAddData(result);
}
});
}
});
<table id="mgtable" class="display">
<thead>
<th class="mgName">Master Group Name</th>
<th class="gcb">Group Created By</th>
<th class="desc">Description</th>
</thead>
<tbody></tbody>
</table>
Apex Controller
public with sharing class DataTableController {
@RemoteAction
public static list<Client_Group__c> refreshMasterGroupList() {
return [select id,Name,CreatedBy.Name,Client_Group_Description__c from Client__c order by Name];
}
Best Answer
Sounds like your JSON data does not include the
Client_Group_Description__c
field (in all cases).Update: per Josh Kaplan, Salesforce changed the behavior prior to Spring '13 of the JSON serializer to omit fields (properties) which have null values in them, but apparently this change in behavior was reverted back to including the properties which had null values in Spring '13.
If this is indeed still the case, the first option I can think of off the top of my head would be to return your own type rather than returning the sObject type, using an inner class on your controller.