2013-04-25 59 views
0

找不到任何示例,因此我可能可以幫助我。jqGrid cell as minutes/seconds and incrementing

我有一個網格查詢SQL表的更新時間。其結果是來自DATEDIFFint。我想在jqgrid單元格中實現的是:自表格更新以來,顯示分鐘/秒的數量(讓我們說我有int),並讓它隨着秒數增加而增加。

例如,一旦網格刷新特定的單元格就會是8.而我想要發生的事情是它會隨着秒數的增加而不斷增加。 20秒後,我想它是28等等。 期望的最終結果將包括一些強制轉換和連接,所以我可以顯示25:12+。

你知道我可以編輯一個像這樣的jqgrid單元嗎? 在此先感謝。

編輯

數據庫表。

Name    Update 

UsersTable  SomedatetimeValue 
AddressesTable SomedatetimeValue 

的jqGrid的我想顯示會像

UsersTable  8:10  
AddressesTable 6:35 

是那些8:10和6:35,我想盡可能增加值幾秒鐘過去。因此,用戶在看到網格時知道自上次對這些特定表進行更新後的時間。

+1

所以,你想在你的jqGrid一個細胞開始與時間,因爲表的最後更新,然後遞增每一秒。爲了澄清,你只希望這是一個將要更新的列中的一個單元格?或者將它作爲外部項目,可能是標籤或諸如標題的一部分,會更好嗎?對於我來說,看起來很浪費整個專欄,只會對與您的功能相關的一個單元格有用。 – Mark 2013-04-25 13:49:23

+0

整列將具有相同的規格。秒數/分鐘隨着時間的推移而增加。網格有2列。 '姓名'和'上次更新發生...'因此,這第二列應該有越來越多的時間。 – 2013-04-25 14:07:32

+0

而你希望該列中的每個單元格具有相同的初始值,然後全部更新以顯示增加的時間? – Mark 2013-04-25 14:13:01

回答

1

下面是我該怎麼做:

從你的控制器中傳遞值,如你所描述的。

添加一個類來表示經由時間列:

classes: 'LastUpdateTimeClass' 

在jqGrid的設置的負載的定時器功能,以更新每個那些具有類的值。 EX(jqGrid的設置內部)

loadComplete: function() { 
    if (timer) {window.clearinterval(timer)}; //clear the timer 

    //setup the timer 
    self.setInterval(function() { 
     $('.LastUpdateTimeClass').each(function() {        
      $(this).text(parseInt($(this).text(), 10) + 1); 
     }); 
    }, 1000); 
}//loadComplete 
+0

謝謝馬克。你知道其他的定時器功能嗎?我試着用setInterval(function(){/ * code * /},1000);但我不能使它工作。 – 2013-04-25 15:11:31

+0

我編輯了這篇文章,我認爲它應該是一個相當直接的定時器函數調用。 – Mark 2013-04-25 15:44:58

+0

我評論的問題是我從.ajax調用網格,所以我必須使用gridComplete而不是loadComplete。無論如何,這是行不通的。網格填滿後,顯示分鐘/秒的值,在第一秒之後,它刷新爲1。之後,它停止刷新。它不加1,它用1代替,然後停止。 – 2013-04-25 15:52:12