2016-07-19 9 views
0

Wir versuchen, Tablesorter v2.0 in unserer Lösung zu implementieren. Wir verwenden Knockout, MVC, C# in unserem Projekt.tablesorter v2.0 dynamisch Zeilen in einer Tabelle hinzufügen

Wir haben Szenarien während unseres gesamten Projekts, wobei wir in einer Tabelle Zeilen dynamisch hinzufügen, basierend auf dem durchgeführten Suchresultat oder dem Hinzufügen/Löschen einer Zeile. Wir implementierten Tabelle auch über Szenarien Sortierung auf und sie scheint nicht

Szenario 1 zu arbeiten. 1) Hinzugefügt unter Codezeile bei Laden der Seite $ (‚tablesorter‘) tablesorter() ; 2) Untergeordnete Zeile des Codes hinzugefügt, wenn eine Zeile in einer Tabelle dynamisch hinzugefügt/gelöscht wird oder Zeilen basierend auf einem Suchergebnis dynamisch hinzugefügt werden. $ ("Tabelle"). Trigger ("updateAll"); oder $ ("Tabelle"). trigger ("update");

Szenario 2: 1) Hinzugefügt unter Codezeile bei Laden der Seite $ ('tablesorter.') Tablesorter();. 2) Beim dynamischen Hinzufügen/Löschen einer Zeile in einer Tabelle $ ('. Tablesorter') unterhalb der Codezeile hinzugefügt. Tablesorter();

Probleme in beiden Szenarien: • Wenn wir hinzufügen, um eine neue Zeile oder dynamisch Zeilen hinzugefügt, basierend auf Suchergebnisse, basierend auf Punkt # 2 (oben), System dynamisch ist, um die Zeilen in der Tabelle zu duplizieren und auch dem Sortieren ist nicht richtig passiert.

Alle Empfehlungen zur Lösung des obigen Problems wären willkommen.

Antwort

0

Tablesorter sollte nur einmal initialisiert werden. Die Verwendung von $('.tablesorter').tablesorter(); mehr als einmal auf den gleichen Elementen wird ignoriert. Legen Siefest, um dieses Verhalten zu testen.

Um den internen Cache von tablesorter zu aktualisieren, sollten Sie eine "update" event auslösen.

  1. Neue Zeilen hinzufügen/entfernen.
  2. $("table").trigger("update");

Verwenden Sie nur die "updateAll" event beim Hinzufügen oder Entfernen von Spalten.

  1. Hinzufügen/Entfernen einer Tabellenspalte.
  2. $("table").trigger("updateAll");