che sto usando jqGrid 4.0 (tramite jQuery si pavoneggia 2 plug-in) e il layout plugin per jQuery. La risposta precedente non funziona per me. Solo la funzione resizeGrid
era un problema. Basta sostituire la funzione resizeGrid
in alto con questo. Questo ridimensiona solo una griglia, quella il cui id è gridtable
.
function resizeGrid(pane, $Pane, paneState) {
jQuery("#gridtable").jqGrid('setGridWidth',paneState.innerWidth - 2, 'true');
};
#gridtable
è l'id dell'elemento tabella creata per jqGrid
<div id="grid_container">
<table id="gridtable" class="mygrid"></table>
<div id="grid_pgr"></div>
</div>
Inoltre, se si utilizza lo Struts2 plugin per jQuery, la griglia viene generato automaticamente utilizzando <script>
blocchi all'interno del <body>
(non nei blocchi di script all'interno di <head>
). Quindi, se hai chiamato e imposta triggerEventsOnLoad: true
in <head>
, ottieni un errore javascript. Per evitare ciò, è possibile aggiungere questo blocco di script da qualche parte dopo che la griglia è stata dichiarata.
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery("#gridtable").jqGrid('setGridWidth',$myLayout.state.center.innerWidth - 2, 'true');
});
</script>
Se è presente più di una griglia, è possibile accedervi utilizzando una classe definita sull'elemento tavolo (vedi Frammento HTML sopra), e quindi eseguire il metodo resizeGrid
su ciascuno di essi.
Grazie, questo mi ha portato alla risposta di cui avevo bisogno. – Horacio
Prego, saremo lieti di aiutare –
@JustinEthier come facciamo a renderlo una griglia fluida come la tabella di bootstrap di Twitter. esempio qui http://192.69.216.111/themes/preview/ace/tables.html –