Ich versuche Hierarchical Grid
in meiner Angular 2
Anwendung ähnlich wie diese http://demos.telerik.com/kendo-ui/grid/hierarchyHierarichal Gitter mit kantigem JS 2
umzusetzen Also begann ich aus zwei components
zu schaffen. Die Parent Component
ist für Elterntabelle und Child Component
ist für untergeordnete Tabelle. Wenn Sie also auf Zeile aus der übergeordneten Tabelle klicken, wird die untergeordnete Tabelle direkt darunter geladen (wie im obigen Beispiel).
Dies ist, wie mein html wie
<div class="row">
<div class="col-md-12">
<h1>{{pageTitle}}</h1>
<table class="table table-striped">
<thead>
<tr>
<td></td>
<td>User Name</td>
<td>Email</td>
<td>Billing Method</td>
</tr>
</thead>
<tbody>
<tr class="master-row" *ngFor="#invoice of invoices; #i = index">
<td><button (click)="getDetail(invoice)"><i class="glyphicon glyphicon-chevron-right"></i></button></td>
<td>{{invoice.username}}</td>
<td>{{invoice.email}}</td>
<td>{{invoice.billingMethod}}</td>
</tr>
</tbody>
</table>
</div>
</div>
Aber ich habe zwei Fragen aussieht:
1) Wie Kind Tisch in DOM
auf einer korrekten Position laden? Das Problem ist, wenn meine Elterntabelle gerendert wird, werden alle Zeilen mit der Anweisung ngFor
erstellt. Wenn Sie jetzt auf eine Zeile klicken, wie lädt man die untergeordnete Tabelle direkt darunter? Wie kann ich den Standort identifizieren?
2) Um untergeordnete Tabelle zu laden, habe ich gedacht, DynamicComponentLoader
Klasse zu verwenden, aber sieht aus wie die Kommunikation zwischen Components
wird nicht möglich sein, wenn DCL
verwenden.
Bitte machen
zu halten Sie können Komponenten immer 'nisten'. Überprüfen Sie diese [Plocker] (http://plnkr.co/edit/SKkaMguZHHMAOYmW7to9?p=preview) es sollte Sie führen – Abdulrahman
@Abdulrahman Ich möchte geschachtelte Komponente laden, wenn Zeile auf Elterntabelle klicken. Und möchte die verschachtelte Komponente direkt unter der angeklickten Zeile einfügen. Wie würde ich den richtigen Speicherort für die verschachtelte Komponente ermitteln, da 'DCL' die Position in DOM benötigt, an der die' Komponente' geladen werden soll? –
Ich sehe keinen guten Grund für die Verwendung von 'DynamicComponentLoader' in Ihrer Situation. Aber hier ist ein einfaches [plocker] (http://plnkr.co/edit/fiOWuEpRanG8fYo17Yun?p=preview), um Ihnen zu zeigen, wie Sie das Zielelement referenzieren. "Überprüfen Sie die Konsole nach dem Klicken auf eine Zeile" – Abdulrahman