Ich versuche benutzerdefinierte D3 cellTemplate in UiGrid eckigen Bibliothek zu zeigen und die Sortierfunktion zu implementieren. Indem ich diesem answer folgte, war ich in der Lage, es zu implementieren, aber benutzte ein kundenspezifisches Verzeichnis anstelle von nvd3. Zum Sortieren von Spalten mit benutzerdefinierten Vorlagen (hier D3-Elemente) verwende ich das SortingAlgorithm-Attribut von uiGrid. Das Problem ist, sobald die D3 für das gesamte Raster gezeichnet wird, beim Sortieren wird nicht aktualisiert.Angular uiGrid: D3 CellTemplate nicht sortieren
columDef:
columnObj = {
field: reportEvidenceHeaders[i],
enableHiding: false,
headerTooltip: true,
cellTemplate: '<div class="ui-grid-cell-contents"><ui-grid-bar-chart data="row.entity.'+reportEvidenceHeaders[i]+'"></ui-grid-bar-chart></div>',
sortingAlgorithm: uiGridViewSorting
};
uiGridViewSorting:
var uiGridViewSorting = function(a, b, rowA, rowB, direction){
a = Number(a.split("/")[0]);
b = Number(b.split("/")[0]);
if (a == b) return 0;
if (a < b) return -1;
return 1;
};
ui-grid-bar-Diagramm ist das D3-Verzeichnis.
ui-Gitter-Balkendiagramm:
link: function(scope, element, attrs){
d3.select(element[0]).append("svg").height("100%").width("100%");
}
Hier bin ich Anfügen der D3 auf element[0]
.
Grid:
Das Raster auf der ersten Zeichnung sieht gut aus.
Bei der Sortierung werden jedoch alle anderen Spalten aktualisiert, mit Ausnahme der Spalte, die die D3-Elemente enthält.
Plunker: Here
Was ist das Problem hier?
Können Sie ein Beispiel für Plunker? –
@KScandrett Mein Bad, muss es vorher getan haben, plz finde den Plunker Link in der bearbeiteten Frage. – Mohit