/ / Horizontale Bildlaufleiste Problem für Dynamic jqGrid - Javascript, JQuery, CSS, ASP.NET-MVC-4, JQGRID

Horizontales Bildlaufleistenproblem für dynamisches jqGrid - javascript, jquery, css, asp.net-mvc-4, jqgrid

Ich arbeite an ASP.net MVC. Ich habe viele dynamische und statische JQ-Gitter in meiner Anwendung und Probleme mit der horizontalen Bildlaufleiste.

Ich habe folgenden Code für die Überlaufeigenschaft ausgeführt:

.ui-jqgrid .ui-jqgrid-bdiv {
overflow-y: auto !important;
overflow-x: auto !important;
}

.ui-jqgrid .ui-jqgrid-btable {
overflow-y: auto !important;
overflow-x: auto !important;
}

Ich habe gesetzt autowidth=true;. Ich kann nicht einstellen shrinkToFit=false da ich einen anderen Code auf Rastergröße habe, der auch Spaltenbreite neu bestimmt.

Da ich die Überlaufeigenschaft auf auto gesetzt habe, benötige ich das gleiche Verhalten der Bildlaufleiste.

Beim ersten Laden des Gitters horizontal scrollenDie Leiste wird nicht angezeigt, was korrekt ist. Nach der Größenänderung des Fensters wird auch die Größe des Rasters mit Spalten geändert und die horizontale Bildlaufleiste wird korrekt angezeigt. Als ich jedoch versuchte, den Bildschirm zu maximieren, sollte die horizontale Bildlaufleiste nicht angezeigt werden, was nicht der Fall ist. Es wird immer noch eine Bildlaufleiste angezeigt. Kann mir jemand helfen?

Antworten:

1 für die Antwort № 1

Wie Sie bereits verwenden autowidth:true; In den Rasteroptionen können Sie verwenden setGridWidth Methode in der resize Ereignis der window.
Sie müssen dies verwenden:

$(window).on("resize", function () {
var $grid = $("#gridID"),
newWidth = $grid.closest(".ui-jqgrid").parent().width();
$grid.jqGrid("setGridWidth", newWidth, true);
}).resize(); // <----triggers the resize on dom ready.