c# Text Datei auslesen

  • C#

Es gibt 24 Antworten in diesem Thema. Der letzte Beitrag () ist von Andinistrator.

    jo, DatagridView ist kein Problem. Verwende einfach folgenden Code:

    C#-Quellcode

    1. namespace Datei_auslesen {
    2. public partial class Form1 : Form {
    3. private FileInfo _DataFile = new FileInfo(@"..\..\Data.txt");
    4. private BindingList<Data> _Data = new BindingList<Data>();
    5. public Form1() {
    6. InitializeComponent();
    7. btLoad.Click += (s, e) => LoadData();
    8. dataBindingSource.DataSource = _Data;
    9. }
    10. private void LoadData() {
    11. _Data.Clear();
    12. var lines = System.IO.File.ReadAllLines(_DataFile.FullName);
    13. foreach (var s in lines) {
    14. var splits = s.Split('|');
    15. _Data.Add(new Data() { FirstName = splits[0], Name = splits[1], Street = splits[2] });
    16. }
    17. }
    18. }
    19. }
    (Beachte auch den Dateianhang)

    @ThePlexian: bitte kein ListView! Für Tabellen ist das totaler Schrott, im Vergleich zu DataGridView

    edit:
    Danke für den Hinweis, DataGrid klappt super
    Nanu? wer hat dir denn den Hinweis auf Datagrid gegeben?
    Dateien

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „ErfinderDesRades“ ()

    @ErfinderDesRades Geht klar, Captain ! ;)
    Wusste ich nicht, hab das ListView nie benutzt, kenne es halt nur.
    »There's no need to "teach" atheism. It's the natural result of education without indoctrination.« — Ricky Gervais
    Vielen Dank, ich schau es mir an.
    PS: Über den Datagrid bin ich gestolpert, oder ich hab deinen Hinweis überlesen ;)

    Leider bekomme ich aus der guten Anleitung aus Post #21 die Erstellung der Überschriften nicht raus. Ich mache selber überschriften im DataGrid, die txt Datei hat keine.

    Wie kann ich das machen, dass es

    Vorname in Spalte 1
    Name in Spalte 2
    ...

    erstellt?

    Wer die Überschrift in der txt Datei hat kann es so verwenden:
    Spoiler anzeigen

    C#-Quellcode

    1. private void button2_Click(object sender, EventArgs e)
    2. {
    3. if (openFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
    4. {
    5. DataTable dt = new DataTable();
    6. using (StreamReader sr = new StreamReader(openFileDialog.FileName, Encoding.UTF8))
    7. {
    8. while (!sr.EndOfStream)
    9. {
    10. string[] currentline = sr.ReadLine().Split(new string[] { "|" }, StringSplitOptions.None);
    11. if (dt.Columns.Count == 0)
    12. {
    13. // n Spalten der ersten gelesenen Zeile hinzufügen
    14. for (int i = 0; i < currentline.Length; i++)
    15. {
    16. // als Spaltenüberschrift die eingelesenen Teile des Stringarrays verwenden
    17. dt.Columns.Add(currentline[i]);
    18. }
    19. }
    20. else
    21. {
    22. // ansonsten Daten des Stringarrays zeilenweise hinzufügen
    23. dt.Rows.Add(currentline);
    24. }
    25. }
    26. sr.Close();
    27. }
    28. dgvGrid.DataSource = dt;
    29. }
    30. }

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Andinistrator“ ()