2012-04-27 33 views
0

我在jQuery Datatables中有一個問題。這個「處理」消息每次顯示時,我點擊排序,排序是客戶端排序。它真的很煩人,因爲它看起來像閃爍。我該如何做這樣的事情?如果處理時間少於1秒,不要顯示「正在處理」消息?如何在jQuery DataTable中對頁面進行排序或頁面時控制處理時間?

$('#tblUsers').dataTable({ 
        "bDestroy": true, 
        "bProcessing": true, 
        "sProcessing": false, 
        "sAjaxSource": path, 
        "bFilter": false, 
        "bLengthChange": false, 
        "bInfo": false, 
        "iDisplayLength": 15, 
        "sPaginationType": "full_numbers", 
        "aoColumns": 
       [ 
        { "mDataProp": "UserName" }, 
        { "mDataProp": "FirstName" }, 
        { "mDataProp": "LastName" }, 
        { "sDefaultContent": "", "fnRender": function (oObj) { return "<a onclick=AssignUser(this,'" + oObj.aData.UserName + "','btnRemove_" + oObj.aData.UserName + "') id='btnAssgin_" + oObj.aData.UserName + "'> Assign User</a>"; } 
        }, 
        { "sDefaultContent": "", "fnRender": function (oObj) { return "<a onclick=RemoveUser(this,'" + oObj.aData.UserName + "','btnAssgin_" + oObj.aData.UserName + "') id='btnRemove_" + oObj.aData.UserName + "' disabled='true'>Remove User</a>"; } 
        } 

       ], 
        "aoColumnDefs": [ 
             { "sWidth": "20%", "aTargets": [0] }, 
             { "sWidth": "20%", "aTargets": [1] }, 
             { "sWidth": "20%", "aTargets": [2] }, 
             { "sWidth": "20%", "aTargets": [3] }, 
             { "sWidth": "20%", "aTargets": [4] } 
            ] 
       }); 
+0

是不是「處理」消息表明「東西」仍在繼續?在結束之前,你會怎麼知道「東西」要花多長時間? – kaveman 2012-04-27 03:00:36

+0

對,但它太頻繁了。我想知道如果我能做到這一點,如果過程不到1秒,不要顯示信息。 – user454232 2012-04-27 04:13:01

回答

0

如果你不希望看到的處理指示,只需設置bProcessing爲假(或者乾脆刪除它,這使得假默認情況下)。如果你不想看到它,不知道你爲什麼包括bProcessing開始!繼承了代碼?

[響應更新發表評論]

我現在明白了。但我認爲這是一個紅鯡魚,它回到了卡夫曼的評論。您不知道處理完成需要多長時間。

「但是格雷格!」我聽到你們中的一些人說:「只要不出現處理事件,至少已經過了一秒鐘!很簡單!」

您所要做的就是爲同一問題的延遲版本交換一個問題。假設處理需要1.2秒。你等待顯示「處理」指標一秒鐘,然後你決定「是的,這是一個很長的時間,讓我們展示指標!」但是這個指標只顯示0.2秒。一個醜陋的「閃光燈」,只是推遲了一段時間。事實上,我認爲在這種情況下,如果整個過程都可見,情況會更好。

我沒有看到解決這個問題的好方法,除非您始終可以相對確定地預測過程需要多長時間。你不能這麼做,因爲每個客戶端環境都會有所不同。

我建議不要試圖捕捉這個紅鯡魚......要麼保持啓用或不啓用。這是我誠實的建議。

+0

我想查看處理指示符。但我不想太頻繁地看到它。例如,如果進程少於1秒,則不顯示「處理」消息。 – user454232 2012-04-27 04:11:57

+0

回覆評論的更新回答。 – 2012-04-27 18:34:01

相關問題