약 40 열의 jqGrid 트리 그리드가 있으므로 브라우저의 크기에 따라 큰 가로 스크롤 막대가 있습니다. 문제는 너비가 너무 커서 페이지가로드되거나 필터 등을 수행 할 때 팝업 메시지가 표시되지 않기 때문입니다. 왜냐하면 화면 오른쪽에 있기 때문입니다."데이터로드 중." jqgrid treegrid의 보이는 화면에있는 메시지?
"데이터로드 중 ..."방법이 있습니까? 전체 현재 보이는 화면 (대신 페이지에서 메시지 센터?
약 40 열의 jqGrid 트리 그리드가 있으므로 브라우저의 크기에 따라 큰 가로 스크롤 막대가 있습니다. 문제는 너비가 너무 커서 페이지가로드되거나 필터 등을 수행 할 때 팝업 메시지가 표시되지 않기 때문입니다. 왜냐하면 화면 오른쪽에 있기 때문입니다."데이터로드 중." jqgrid treegrid의 보이는 화면에있는 메시지?
"데이터로드 중 ..."방법이 있습니까? 전체 현재 보이는 화면 (대신 페이지에서 메시지 센터?
같은 문제가있는 jqGrid의 다른 사용자를 가질 수
개인적으로 오버레이를 통해 보여줍니다 loadui: 'block'
설정을 사용하는 것을 선호합니다. 승 그리드 로딩 중 홀 그리드. 이 경우 문제는 그렇게 중요하지 않습니다.
당신이 loadBeforeSend
의 내부에 "...로드"사업부를의 위치를 변경하는 경우 당신은 더 나은 결과를 얻을 수 있습니다 :
loadBeforeSend: function() {
var $loadingDiv = $("#load_"+$.jgrid.jqID(this.id)),
$bdiv = $(this).closest('.ui-jqgrid-bdiv');
$loadingDiv.show().css({
top: (Math.min($bdiv.height(), $(window).height()) - $loadingDiv.height())/2 + 'px',
left: (Math.min($bdiv.width(), $(window).width()) - $loadingDiv.width())/2 + 'px'
});
}
을 내있는 jqGrid의 기본 코드를 수정하는 것이 좋을 것 opining에서 (정확히 beginReq 함수의 코드를 수정하려면 위의 "Loading ..."div의 위치가 항상 변경된 것입니다.
는 업데이트 : 코드는 이전과 loadBeforeSend
에 배치되어야의 위치 변경 "로드 중 ..."사업부가 될 것입니다
var gridIdAsSelector = $.jgrid.jqID(this.id),
$loadingDiv = $("#load_" + gridIdAsSelector),
$gbox = $("#gbox_" + gridIdAsSelector);
$loadingDiv.show().css({
top: (Math.min($gbox.height(), $(window).height()) - $loadingDiv.outerHeight())/2 + 'px',
left: (Math.min($gbox.width(), $(window).width()) - $loadingDiv.outerWidth())/2 + 'px'
});
의 아마 더 나은 구현을.
업데이트 2 : The demo입니다. 코드 을loadComplate
외부에 포함 시켰습니다.이 코드는 작동 방법을 보여주기위한 용도로만 데모 용으로 사용되었습니다. 데모에서 "로드"볼 수있을 DIV 나는 또한 loadui: 'block'
옵션의 사용의 경우에 표시되는 오버레이를 보여
놓습니다 상단이 고정 된 위치에서로드 메시지의 컨테이너와 40 % -60 %에 할당 떠났다. 즉, 그것을
를 해결하는 것그것은 그런 일이어야합니다. 나는 당신의 질문은 좋은 찾을
.loading-message-container {
position : fixed;
top:50%;
left: 45%;
}
감사합니다. 이거 훌륭 하네. 또한 loadUI : block을 추가했으며이 두 가지를 결합하여 데이터가로드 될 때 사용자에게 훨씬 더 명확하게 나타냅니다! – leora
@leora : 오신 것을 환영합니다! – Oleg