Hinzufügen von mehr als zwei columng Gruppenköpfe in jqgrid
multi-level group Header in jqgrid
Dies ist eine direkte Reaktion auf die Antwort aufgelistet in der obigen Frage, aber ich kann nicht hinzufügen, dass Gespräch.
Ich verstehe, dass es eine Beschränkung im jqgrid nur ein level group Header in das raster, aber ich war neugierig, ob jemand einen workaround gefunden, der es ermöglicht mehr? Wir werden versuchen, unsere Anwendung über einen HTML-Tabelle wird durch den server über jqgrid, aber so dass mehrere (mehr als 2) Spaltenüberschriften wurde als ein Kritischer Punkt
Du musst angemeldet sein, um einen Kommentar abzugeben.
Andere und einfache Möglichkeit der Erhöhung einer beliebigen Anzahl von Ebenen(Dimensionen) im Jqgrid ist, indem setGroupHeaders, die Anzahl der Zeiten, die
Wenn meine Spalten sind wie,
ColNames = ['Id','Datum', 'Client', 'Betrag','Steuer','Total','Notizen'];
Fügen Sie nun setGroupHeaders Wie
Folgenden ist die Ausgabe
Den Grund der Beschränkung des eine level group Header in jqGrid existieren, weil jqGrid bieten mehr als nur die Anzeige der Kopfzeilen. Sehen Sie am Beispiel der die demo erstellt für die Antwort, dass die Spaltenüberschriften nach der Gruppierung sind anklickbar (Sortieren nach der Spalte) und veränderbare (per drag&drop auf die Trennlinie zwischen zwei Spaltenüberschriften). Wenn Sie
titleText
MöglichkeitsetGroupHeaders
Sie können HTML-Fragmente, inclusive<table>
element in die Spalte header. Es gibt Ihnen die Möglichkeit milti-level-Header. Man kann zählenresizable: false
zu verweigern, ändern oder kann man schreiben, die benutzerdefinierteresizeStop
Prozedur, die die Größe von Spalten in der Tabelle Hinzugefügt vontitleText
MöglichkeitsetGroupHeaders
.Alles, was ich oben beschrieben habe, Klang theoretisch. Also schrieb ich die kleine demo und demonstriert die Vorgehensweise. Es zeigt das folgende raster
Die demo ist geschrieben, nicht für den häufigen Fall, aber es ist klar, dass man es als Grundlage für die weitere gemeinsame Lösung zu finden. In irgendeiner Weise hoffe ich, dass Sie es ändern können, um alle Ihre multi-level-grid.
Die wichtigsten Teile der demo finden Sie unter:
AKTUALISIERT: später Mehr code von
setGroupHeaders
ermöglicht es, mehrere Anrufe vonsetGroupHeaders
auf dem gleichen raster. In der Weise kann man tun, erstellen multi-level-Header. jqPivot verwendet die Funktion (siehe die wiki).fixPositionsOfFrozenDivs
denen ich schlug vor, dann wird der code so etwas wie hier.