2011-10-28 1 views
0

나는 입니다 뭔가를하기 전에 모든 그리드가 렌더링되는지 확인하는 onRendered() 이벤트를 구현해야합니다. 내 gaol은 .hide().show() 단추가 div에 있고 기본 상태가 숨김으로 설정되어 있습니다. 문제는 스크립트가 초기 .hide()을 실행하는 시점에 grid.js 스크립트에 의해 그리드가 완전히 생성되지 않았기 때문입니다. 차라리 지연 루프를 수행하지 않을 것입니다. 콜백이 많이 있습니다.onRendered 콜백

어떤 도움을

감사 팻

+0

가능한 복제본 http://stackoverflow.com/questions/6224661/do-action-after-render-method-is-completed?answertab=active#tab-top – magiconair

답변

2

이 콜백없이 작동을 감상 할 수있다. UI 이벤트에 응답하여 표를 표시하거나 숨기는 SlickGrid 앱이 있습니다. 그리드는 인스턴스화되는 즉시 (new Slick.Grid) 존재하며 .hide().show() 메서드로 조작 할 수 있습니다.

난 당신이 그리드 열을 제대로 초기화하지 않는 (그래서 처음에 숨겨져) display: nonediv 태그를 작성하는 경우 비록 하나의 캐치 ...

을 발견했다. 이 문제를 해결하려면 visibility: hidden으로 div 태그를 만들고 .hide().show() 메서드를 사용하기 전에이 스타일을 제거하십시오.

내 코드는 다음과 거의 같습니다

<div id="mygrid" style="visibility: hidden"></div> 

    $grid = $("#mygrid") 

    grid = new Slick.Grid($grid, gridData, gridColumns, gridOptions); 

    // Hide grid by default, remembering to remove the visibility style 
    $grid.hide(); 
    $grid.css("visibility", "visible"); 

    // You can now show and hide the grid using normal jQuery methods 
    $grid.show(); 
    $grid.hide(); 

희망이 도움이됩니다.

+0

덕분에 많은 도움이되었습니다. – cube

+0

좋은 해킹. 그것은 아주 잘 작동했습니다. 감사! – DRaehal