Schleife durch jedes element in einer DataRow
Grundsätzlich habe ich eine DataTable
wie folgt:
Möchte ich ausführen einer Methode pro element pro Zeile, die die Parameter
AddProductPrice(SKU, Price, PriceBracket)
Als Beispiel...:
Wenn wir die erste Zeile der Daten, die Methode, die ausgeführt wird, ein Potenzial von 16-mal, einmal für jedes mal, wenn Total Price X
ist nicht null.
Also für die ersten Gesamt-Preis in der ersten Zeile wird der Anruf:
AddProductPrice(SKU, <Total Price 1 value>, 1)
Dann für den zweiten Gesamtpreis in der ersten Zeile wird der Anruf:
AddProductPrice(SKU, <Total Price 2 value>, 2)
Bitte beachten Sie: für den Nationalen Verkauf element der Aufruf wäre:
AddProductPrice(SKU, <National Selling value>, 16)
Ist es ein cleverer Weg, um eine Schleife durch jedes element in einer DataRow
um die Verfahren effizienter?
- "clever" als was? Was hast du gemacht?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Für jede Zeile, die Schleife durch die Spalten und dann die Suche nach dem index der "Gesamtpreis", "National" Verkaufen, und das hinzufügen von Produkt-Preis entsprechend.
Schleife durch die DataTable.Columns-Auflistung und analysieren, basierend auf den Namen der Spalte.
Können Sie die
ItemArray
(Typobject[]
) Eigentum vonDataRow
und Durchlaufen werden, deren Elemente aus Spaltetab.Columns.IndexOf("Trade Price 1")
zutab.Columns.IndexOf("Trade Price 16")
.Beachten Sie jedoch, dass, wenn die Reihenfolge der Spalten ändert sich aus irgendeinem Grund, Ihren code brechen kann. Der sichere Weg wäre zu iterieren durch die Elemente über einen indexer -
row["Trade Price " + i]
.