2014-04-09 6 views
0

총계 금액 열을 표시하기 위해 바닥 글 행을 사용하고 있습니다. 0 개의 레코드가있는 경우 "레코드가 없습니다. 추가하려는 경우 아래의"+ "버튼을 클릭하십시오." 그러나 바닥 글 행은 여전히 ​​빈 셀과 함께 표시됩니다. 레코드가 없을 때 jqGrid 바닥 글 행을 숨기는 방법

나는 작동하지 않습니다 그러나
grid.jqGrid("clearGridData", true).trigger("reloadGrid"); 

같은 방법 clearGridData을 시도했다. 내가 대신 사용해야합니까

$(".ui-jqgrid-ftable").css('visibility', 'hidden'); 

또는 더 좋은 권장 사항이 있습니까?

감사합니다, 대신 (클래스 ui-jqgrid-ftable가) 테이블의 바닥 글 사업부를 숨기기 위해 더 나은 것이라고 나에게 보인다

Abhilash

답변

1

. div의 클래스는 ui-jqgrid-sdiv입니다. $(".ui-jqgrid-ftable")의 사용법은 페이지에서 하나 이상의 격자로 사용법이 좋지 않은 것처럼 보입니다.

loadComplete 콜백 내부에 꼬리말을 숨기거나 표시 할 수 있다고 생각합니다. 반환 된 레코드 수를 테스트하고 null 레코드로 더 많은 레코드가있는 경우에만 바닥 글을 표시 할 수 있습니다. 해당 코드는 다음에 대해 될 수있다 : 당신이 $(this.grid.sDiv) 대신 $this.closest(".ui-jqgrid-bdiv").next(".ui-jqgrid-sdiv")을 사용하는 경우

loadComplete: function() { 
    var $this = $(this), 
     $footer = $this.closest(".ui-jqgrid-bdiv").next(".ui-jqgrid-sdiv"), 
     records = parseInt($this.jqGrid("getGridParam", "records"), 10); 

    if (records >= 0) { 
     $footer.show(); 
    } else { 
     $footer.hide(); 
    } 
} 

당신은 최소한의 성능 이점을 얻을 수 있습니다. grid은 그리드의 DOM에 할당 된 내부 속성입니다. grid 속성은 jqGrid를 만드는 동안 초기화되며 내부적으로 사용됩니다. 그것은

enter image description here

같은 당신이

loadComplete: function() { 
    var $footer = $(this.grid.sDiv), 
     records = parseInt($(this).jqGrid("getGridParam", "records"), 10); 

    if (records >= 0) { 
     $footer.show(); 
    } else { 
     $footer.hide(); 
    } 
} 
+0

감사 올렉에 위의 코드를 변경할 수 있습니다, 당신은 항상 큰 도움이되었습니다 보인다! – Abdyax

+0

@Abhilash : 천만에요! – Oleg