Jquery数据表插件,在排序/过滤数据后显示“表中没有数据”

我使用JSON格式从服务器获取数据以填充DataTables表。 在$().ajax函数的Success部分中,我检查了并且响应成功了。 这是我桌上的小提琴 :

从服务器返回的Json文件样本如下:

 { "data": [ { "__type": "TEST1.Campaign", "BookingID": 0, "CatalogueNumber": "IEM201343000007", "CampaignId": 34, "StartTime": "/Date(1438437600000)/", "EndTime": "/Date(1440079200000)/", "DurationPlayout": 3, "AdDuration": 5, "CampaignType": "facebook", "Stations": [ "7mate.brisbane.au", "eleven.brisbane.au", "nine.brisbane.au" ], "Client_ID": 192, "ContactID": 5851, "AdvertiserID": 9228, "Active": true, "SModified": null, "DSP": "SiteScout", "ClientName": "", "AdvertiserName": "HA Consulting", "ContactName": "Aisling Bannan" } ] } 

我在ajax响应后手动创建表,所以这样的数据表有什么问题吗? 当我按列过滤或排序表记录时,会出现此问题:


表中没有数据


任何帮助,将不胜感激。

12/08/2015 更新的代码:

我根据Gyrocode的答案更新了这个小提琴链接中的代码。
1)当我单击刷新按钮时,表再次初始化,但是当我单击排序列或想要搜索数据时它将为空。
2)未正确设置每列的宽度。
3)隐藏了一些列,但它们显示在每行末尾的表格中。
4)另外对于使用Orthogonal数据 ,我需要有MM / DD / YY的日期时间,我在这个字段中使用.Net日期时间,但它似乎在Client-side.so的JSON字符串中改为TimeStamp,有什么办法吗?以客户格式制作?

原因

你的代码有很多语法错误和其他问题,这个答案太长了,无法全部列出。

需要考虑的重要事项是:

  • 需要使用包含隐藏列的正确数量。 稍后使用columnDefs隐藏某些列。
  • 生成tr / td是可以的,但会使代码变得复杂。 DataTables可以为您发送ajax请求,并将为您配置正确配置的返回数据。 有关更多信息,请参阅正交数据示例 。

DEMO

请参阅更新的jsFiddle以了解更正后的代码。