Hey, hätte da mal 2 Fragen
Bin ziemlich neu in der Welt des Programmierens
Ich habe eine Methode
C#-Quelltext
1:
| public List<Result> GetAllKschl(string fileNameResult, string fileNameData) |
die mir eine Liste mit verschiedenen Elementen und dem Inhalt aus einer ewig langen .xml Datei zurückgibt. (Z.b. Info, Einzelpreis, Gesamtpreis, usw.)
Diese Daten gebe ich in einer DataGridView aus. Okay, funktioniert soweit.
Nun habe ich einen weiteren Button Next File angelegt, der mir dann aus dem Order eben die nächste Datei anzeigt. Bzw wieder nur diese bestimmte Elemente aus der XML. (in der DGV)
Das Problem ist jetzt, dass er mir immer nur die erste Datei anzeigt bei dem "next" Button und nicht jede..
Hier mal der Code:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| public string GetNextFile() { IEnumerator<string> filesEnumerator = Directory.EnumerateFiles(@"C:\blalba\bli", "sum*.xml").GetEnumerator();
if (filesEnumerator != null && filesEnumerator.MoveNext()) { return filesEnumerator.Current; } return null; } |
Was mach ich falsch? Und noch eine Frage: Es wäre ja an sich besser wenn man die Dateinamen nicht in der Methode hat, sondern in seiner GUI, also dem Form1 Code. Da sich die Namen der Datei immer ändern können. Wie mach ich dass denn?
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| private void btnNext_Click(object sender, EventArgs e) { PricingAnalyzer analyzer = new PricingAnalyzer(); string nextFileResult = (analyzer.GetNextFile()).ToString();
List<Result> list = analyzer.GetAllKschl(nextFileResult, fileNameData);
decimal total = analyzer.GetTotalAmount(nextFileResult, fileNameData);
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; dataGridView1.AutoGenerateColumns = true; dataGridView1.DataSource = list; txtTotalAmount.Text = total.ToString(); } |
also, dass man hier quasi den Dateipfad angibt und nicht in der Methode