2016-07-20 11 views
-2

Ich habe eine Transaktion mit UnterebenenGeneXus Sub-Level-Grid in der Transaktion

In der Transaktion Web Form habe ich das Raster für sie, aber ohne Bedingungen, und als ich habe eine Menge von Datensätzen in diesem Unter -level transaction und lädt alle, es gibt ein Performance-Problem und einen Timeout-Fehler.

Wenn ich das Raster entfernen, habe ich diesen Kompilierungsfehler: error: spc0104: Grids are mandatory for all levels but the first one..

Als Beispiel habe ich diese Transaktion (und die Tabelle gefüllt)

State 
* StateId 
StateName 
StateCities 
    * StateCityId 
    StateCityName 

Es gibt einen Weg, um dieses o ich die Unterebene zu löschen, zu lösen und durch mich die ganze Logik machen?

Vielen Dank, Ariel

+0

Es tut mir leid, aber Fragen müssen in Englisch sein und von einem [mcve] begleitet werden. – jonrsharpe

+0

Sorry für die Sprache, ich sah viele Fragen auf Spanisch Ich dachte, es wäre möglich, und jetzt gibt es ein Beispiel. Vielen Dank! –

+0

Ariel können Sie auf Spanisch bei http://es.stackoverflow.com veröffentlichen, wo es auch eine aktive Genexus-Community gibt – sebagomez

Antwort

0

Ariel,

Sie könnten eine weitere Transaktion erstellt (mit nur einer Ebene) mit den Verbindungsschlüssel, wie folgt aus:

* StateID * StateCityId State StateCityName

Und einfügen, aktualisieren oder löschen eins nach dem anderen

Aber ich persönlich bevorzuge es, diesen Ansatz zu verwenden, aber ja, ein Webpanel (Crud-Stil) zu erstellen ...

+0

Vielen Dank, das sind meine Optionen, aber ich bevorzuge die Genexus, deshalb frage –

+0

Ok, aber ich denke In diesem Fall haben Sie keine andere Möglichkeit, als alle Datensätze zu laden. –

+0

In diesem Fall glaube ich nicht, dass die Unterebenen für irgendetwas nützlich sind –

0

Wenn Sie eine zweistufige Transaktion in GeneXus haben, sagen Sie, dass die Daten in dieser Transaktion muss als Ganzes verwaltet werden. Aus diesem Grund lässt GeneXus das Raster der zweiten Ebene nicht aus dem Formular entfernen.

Was Sie tun müssen, wenn Sie die zwei Ebenen getrennt verwalten möchten, ist es, zwei verschiedene Transaktionen zu haben, eine für jede Ebene.

In Ihrem Fall die Struktur der Transaktionen wäre:

-- State 
* StateId 
StateName 

-- StateCities 
* StateId 
* StateCityId 
StateCityName 

Und dann durch das WorkWith Muster für beide Transaktionen anwenden, werden Sie in der Lage sein, mit ihnen separat zu arbeiten.