繁体   English   中英

jQuery数据表插件,对数据进行排序/过滤后显示“表中没有可用数据”

[英]Jquery datatables Plug-In , display “No data available in table” after Sorting/Filtering Data

我使用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": "H A Consulting",
            "ContactName": "Aisling Bannan"
        }
    ] }

我是在ajax响应后手动创建表,因此以这种方式对数据表有任何问题吗? 当我按列对表记录进行过滤或排序时,会发生以下问题:


表中没有可用数据


任何帮助,将不胜感激。

2015年12月8日更新的代码:

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

原因

您的代码中存在许多语法错误和其他问题,因此无法一一列出所有答案。

要考虑的重要事项是:

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

DEMO

请参阅更新的jsFiddle以获得更正代码的演示。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM