Câu trả lời của Oleg hoạt động tốt với tôi miễn là tôi không có tiêu đề Nhóm.
Khi tôi thêm nhóm hàng tiêu đề với 'setGroupHeaders'
kết quả của một 'GridUnload' theo sau là một $ ('# mygrid'). JqGrid ({...}) không nhất quán.
Nó hoạt động tốt trong Chrome nhưng không hoạt động trong IE11.
Trong IE11, mỗi mục 'jqg-third-row-header' sẽ được hiển thị trên các hàng khác nhau (theo đường chéo).
Tôi đang sử dụng free-jqGrid: query.jqgrid.src.js phiên bản 4.13.4 để gỡ lỗi. tôi bắt nguồn từ vấn đề xuống mã, trong tập tin này, bắt đầu với dòng 9936:
if (o.useColSpanStyle) {
// Increase the height of resizing span of visible headers
$htable.find("span.ui-jqgrid-resize").each(function() {
var $parent = $(this).parent();
if ($parent.is(":visible")) {
this.style.cssText = "height:" + $parent.height() + "px !important; cursor:col-resize;";
//this.style.cssText = "height:" + $parent.css('line-height'); + "px !important;cursor:col-resize;";
}
});
// Set position of the sortable div (the main lable)
// with the column header text to the middle of the cell.
// One should not do this for hidden headers.
$htable.find(".ui-th-column>div").each(function() {
var $ts = $(this), $parent = $ts.parent();
if ($parent.is(":visible") && $parent.is(":has(span.ui-jqgrid-resize)") && !($ts.hasClass("ui-jqgrid-rotate") || $ts.hasClass("ui-jqgrid-rotateOldIE"))) {
// !!! it seems be wrong now
$ts.css("top", ($parent.height() - $ts.outerHeight(true))/2 + "px");
// $ts.css("top", ($parent.css('line-height') - $ts.css('line-height'))/2 + "px");
}
});
}
$(ts).triggerHandler("jqGridAfterSetGroupHeaders");
});
Mã này đặt chiều cao và giá trị css đầu liên quan đến từng 'jqg phần ba-hàng-tiêu đề' mục. Điều này dẫn đến bố cục cao và chéo của 'jqg-third-row-header'
Lỗi tiềm năng:.
Phương thức $ parent.height() và $ ts.height() ở trên, trả về chiều cao bảng jqGrid cũ trong IE11. Trong Chrome, họ trả về chiều cao tính toán 'thứ' (trên cùng = 0). Tôi đã thêm và kiểm tra 2 dòng nhận xét sử dụng chiều cao dòng. IE11 hoạt động tốt khi sử dụng chiều cao dòng. Tôi không hoàn toàn hiểu được JqGrid thay đổi kích thước logic, vì vậy đây có thể không phải là một sửa chữa.
Giải pháp thay thế:
Nếu bạn chỉ định.
colModel:
{
label: 'D',
name: 'W',
width: 6,
align: 'center',
resizable:false //required for IE11 multiple calls to this init()
},
Khi thay đổi kích thước sai mã ở trên không gặp phải và chiều cao và trên cùng không được đặt.
jlegrid của Oleg là một điều khiển rất tốt đẹp. Có lẽ anh ta có thể kiểm tra lưới demo của mình với một groupheader trên IE11.
Một câu hỏi nữa: Có một sự chờ đợi/tạm dừng/thời gian chờ funktion, cho đến khi một php-script đã thực hiện công việc của mình (trong kịch bản của tôi tạo ra một pdf và làm cho một số mysql-truy vấn). .delay (từ jquery) có vẻ không hoạt động. Bất kỳ ý tưởng und VIELEN VIELEN DANK (cho cộng đồng: Oleg nói tiếng Đức ;-) – Scharlotte
Cảm ơn bạn Oleg một lần nữa! Vấn đề của tôi là jqgrid ist nhanh hơn so với php-Skript tôi muốn trì hoãn việc thực hiện các funktion createmygrid() như trong ví dụ của bạn. – Scharlotte
hoàn toàn cảm ơn bạn –