2016-06-30 7 views
0

Ich versuche eine Ansicht in web2py zu erstellen, die mehrere SmartGrid-Objekte vom selben Controller bedient. Es zeigt sie absolut gut an, aber wenn ich versuche, einen neuen Datensatz auf der zweiten Tabelle zu erstellen, erlaubt es keinen Eintrag, es scheint nur die Seite zu aktualisieren. Auch wenn Sie versuchen, in der zweiten Tabelle zu suchen, wird auch das Suchfeld in der ersten Tabelle ausgefüllt. Es besteht also offensichtlich Verwirrung darüber, welches Smartgrid welches ist.Web2Py Mehrere Smartgrids in einer Ansicht

In meiner Forschung, die ich über die verschiedene Formtechnik kam Prozess jede Form zu nennen, siehe unten:

form1.process(formname='form1') 

Allerdings ist diese Methode nicht für Smartgrid Objekte zu funktionieren scheint (so weit wie möglich sagen). Ich schätze, ich könnte versuchen, meine eigene neue SQLFORM.grid zu erstellen, aber es ist eine Schande, dass ich die Smartgrids nicht besser nutzen kann, da sie alles haben, was ich brauche.

Jede Hilfe wird geschätzt.

+0

Nach weiteren Nachforschungen scheint es, dass Sie nicht mehrere Gitter in der gleichen Ansicht haben können. Daher verwende ich jedes intelligente Gitter in einer separaten Ansicht und benutze dann iFrames, um alle in eine Ansicht zu bringen . Dies ist nicht ideal und wird ein wenig fummelig, aber letztlich gibt Ihnen die erforderliche Funktionalität. – dmerk

Antwort

0

Wie Sie festgestellt haben, können Sie auf diese Weise nicht zwei Raster auf derselben Seite haben, da das Raster die URL verwendet, um den aktuellen Status zu ermitteln. Anstelle des Iframe-Ansatzes sollten Sie jedoch in Betracht ziehen, jedes Grid in eine Ajax-Komponente zu integrieren. In der Hauptansicht Datei:

{{=LOAD('default', 'grid1.load', ajax=True)}} 
{{=LOAD('default', 'grid2.load', ajax=True)}} 

Natürlich können Sie auch beiden Gitter aus der gleichen Aktion dienen, indem eine URL arg Angabe, sie zu unterscheiden.