簡體   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