2013-04-25 6 views
0

은 내가 가지고있는 것에 대한 예제를 찾을 수 없으므로 나를 도와 줄 수 있습니다.jqGrid 셀을 분/초로 증가시키고

나는 SQL 테이블의 업데이트 시간을 조회하는 것 그리드가 있습니다. 결과는 DATEDIFF에서 int으로 나타납니다. 그리고 내가 jqgrid 셀에서 달성하고자하는 것은 : 테이블이 업데이트 된 이후 분/초 (내가 가지고있는 int라고 가정 해 봅시다)의 양을 보여주고 초 단위로 증가시킵니다. 예를 들어

, 즉시 그리드는 특정 셀이 8 일 그리고 그것은 초에 의해 통과로 계속 증가하는 내가 일이하고 싶은 것은 것이라는 점을 갱신한다. 20 초 후에 나는 28 세가 되길 바란다. 원하는 최종 결과에는 일부 캐스트와 연결이 포함되므로 25 : 12+를 표시 할 수 있습니다.

당신은 내가 그런있는 jqGrid 셀을 편집 할 수있는 방법을 알고 있습니까? 미리 감사드립니다.

편집

DB 테이블.

Name    Update 

UsersTable  SomedatetimeValue 
AddressesTable SomedatetimeValue 

있는 jqGrid에 나는

UsersTable  8:10  
AddressesTable 6:35 

내가으로 증가 할 그 8시 10분 및 6시 35분 값을 것 같은 것 보여주고 싶습니다 초가지나갑니다. 따라서 사용자는 그리드를 볼 때 특정 테이블에 대한 마지막 업데이트 이후 얼마나 오래 있는지 알 수 있습니다.

+1

따라서 테이블이 마지막으로 업데이트 된 이후 jqGrid의 한 셀을 시작한 다음 매초마다 증가 시키길 원합니다. 명확하게하기 위해, 당신은 이것을 갱신 될 칼럼의 하나의 셀로 만 원합니까? 또는 이것을 외부 항목으로, 레이블 또는 머리글의 일부로 사용하는 것이 더 좋을까요? 귀하의 기능과 관련이있는 하나의 셀에 대해서만 관련이있는 전체 컬럼을 갖는 것은 낭비입니다. – Mark

+0

동일한 항목이있는 전체 열입니다. 시간이지나면서 증가하는 초/분. 그리드에는 2 개의 열이 있습니다. '이름'과 '마지막 업데이트가 발생했습니다 ...'그래서이 두 번째 열에는 시간이 증가해야합니다. –

+0

그리고 그 열의 모든 셀이 동일한 초기 값을 갖기를 원하면 증가하는 시간을 보여주기 위해 모두 업데이트해야합니까? – Mark

답변

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 (함수() {/ * 코드 * /}, 1000); 그러나 나는 그것을 작동하게 할 수 없다. –

+0

나는 포스트를 편집했는데, 그것은 꽤 간단한 타이머 함수 호출이라고 생각한다. – Mark

+0

내가 언급 한 문제는 .ajax에서 그리드를 호출했기 때문에 loadComplete 대신 gridComplete를 사용해야한다. 어쨌든, 작동하지 않습니다. 그리드가 채워지면 분/초 값이 표시되고 1 초 후 값이 1로 새로 고침됩니다.그 후에 그것은 단지 상쾌하게 멈춘다. 1을 더하지 않고 1로 바꾸고 중지합니다. –

관련 문제