Ist es möglich, es so zu machen, dass ein jqGrid eine Breite von 100% hat? Ich verstehe, dass Spaltenbreiten eine absolute Pixelgröße sein müssen, aber ich habe noch nichts gefunden, um die Breite des tatsächlichen Rasters auf eine relative Größe einzustellen. Zum Beispiel möchte ich die Breite auf 100 % setzen. Anstelle von 100% scheint es eine ungerade Größe von 450px zu verwenden. Es gibt mehr horizontalen Platz auf der Seite, aber mit der Spaltenbreite und dergleichen wird der Container (nur aus dem Raster) horizontal scrollen. Gibt es einen Weg, dies zu umgehen?
Ist es möglich, jqGrid auf 100% zu dehnen?
Earlz
autowidth: true
ab 3.5
-
“autowidth: true” initialisiert das Gitter nur auf die gleiche Größe, die das übergeordnete Element derzeit hat. Ändern Sie die Größe Ihrer Seite und alles wird durcheinander gebracht
– Waldemar
20. Oktober 2011 um 12:20 Uhr
-
ich benutze das. aber wenn ich eine Tabelle auf einer anderen Seite verwende, funktioniert es nicht 🙁 was kann ich tun?
– fröhliche Sonne
21. August 2013 um 13:03 Uhr
-
@Valdemar – Dafür habe ich jetzt eine Lösung, siehe unten.
– Matt
20. April 2018 um 11:34 Uhr
Benutzer1697051
Für mich geht das:
width: null,
shrinkToFit: false,
-
Das hat bei mir funktioniert, wo autowidth nicht funktioniert hat. Ich habe ein Raster in einem Akkordeon, das beim Laden der Seite nicht aktiv ist. Vielen Dank.
– Pfd
27. Mai 2014 um 4:17 Uhr
-
Dies sollte die richtige Antwort sein, das Raster ändert die Größe mit dem übergeordneten Element und nimmt 100 % Breite ein
– Gedankenlos
2. August 2014 um 3:11 Uhr
-
Ja, diese Antwort ist besser. Das Raster bleibt zu 100 % ein übergeordnetes Element, selbst nachdem die Größe des übergeordneten Elements geändert wurde. Es ist besser als “autowidth: true”. Vielen Dank.
– Jewgenij Afanasjew
4. Januar 2015 um 23:48 Uhr
-
aber Sie müssen die Größe jeder Spalte Ihres Rasters manuell einstellen, wenn Sie dies anwenden … außerdem schrumpfen die Spalten nicht zusammen mit dem Raster, wenn sich die Bildschirmgröße ändert … vielmehr wird das Raster horizontal scrollbar
– sohaiby
3. Mai 2015 um 9:54 Uhr
-
Das funktioniert super für mich. Das Raster folgt der übergeordneten Größe bei der Größenänderung des Browserfensters.
– Bayu
19. Juni 2016 um 12:59 Uhr
Ich verwende dies, um die Breite des Rasters auf die Breite des übergeordneten Containers einzustellen.
function resizeGrid() {
var $grid = $("#list"),
newWidth = $grid.closest(".ui-jqgrid").parent().width();
$grid.jqGrid("setGridWidth", newWidth, true);
}
Earlz
Am Ende habe ich verwendet die jqGrids.fluid-Erweiterung zu tun und es hat super funktioniert.
AKTUALISIEREN: Dieser Link scheint tot zu sein, aber der archivierte Artikel kann angezeigt werden hier.
Oleg
Sie können versuchen, die Breite von jqGrid in Bezug auf eine Funktion zu korrigieren, die ich hier beschrieben habe. Korrektes Aufrufen von setGridWidth für ein jqGrid in einem jQueryUI-Dialog
Molson
wunderbare funktion dafür habe ich hier gefunden (stackoverflow) kann mich an den post nicht erinnern. Ich habe den Höhenteil auskommentiert, behalte das im Hinterkopf (funktionierte bei mir nicht), aber die Breite ist perfekt. Werfen Sie dies irgendwo in Ihre PHP-Datei.
$resize = <<<RESIZE
jQuery(window).resize(function(){
gridId = "grid";
gridParentWidth = $('#gbox_' + gridId).parent().width();
$('#' + gridId).jqGrid('setGridWidth',gridParentWidth);
// $('#' + gridId).jqGrid('setGridHeight', //Math.min(500,parseInt(jQuery(".ui-jqgrid-btable").css('height'))));
})
RESIZE;
Jurij
Versuchen Sie, die Breite auf “null” zu setzen. Für mich geht das.
$(grid).jqGrid({
width: null,
});
stackoverflow.com/questions/17934104/…
– Sergej Straschko
27. Oktober 2016 um 10:41 Uhr
stackoverflow.com/questions/17934104/…
– Sergej Straschko
27. Oktober 2016 um 10:44 Uhr