CSV einlesen in Gridview und suchen über Textbox

joe81

Grünschnabel
Hallo
Ich bins mal wieder.

Ich hab ne Frage zu diesem Code:

Code:
private void GetTableFromCSV()
        {
            //Wird benötigt um die Zeilen zu trennen nach jedem ;
            string delimiter = ";";
            //Name der Tabelle
            string tablename = "IN_Erheber";
            //Quelle det TXT Datei
            string filename = (@"C:\ERDI\02_Stammdaten\02_Exceldateien\IN_Erheber.csv");
            //Konstruktoren
            DataSet dataset = new DataSet();
            StreamReader sr = new StreamReader(filename);
            //Anzahl Zeilen + Beschriftung
            dataset.Tables.Add(tablename);
            dataset.Tables[tablename].Columns.Add("PERSNR");
            dataset.Tables[tablename].Columns.Add("USERID");
            dataset.Tables[tablename].Columns.Add("Name");
            dataset.Tables[tablename].Columns.Add("Vorname");

            string allData = sr.ReadToEnd();

            string[] rows = allData.Split("\r".ToCharArray());
            //trennt das Array in seine einzelnen Bestandteile
            foreach (string r in rows)
            {
                string[] items = r.Split(delimiter.ToCharArray());
                dataset.Tables[tablename].Rows.Add(items);
            }
            this.dataGridView1.DataSource = dataset.Tables[0].DefaultView;
        }

Code:
private void button1_Click(object sender, EventArgs e)
        {
            string enteredText = textBox1.Text; 
            
            //string enteredText = (sender as TextBox).Text;
            DataGridViewRow row;
            for (int i = 0; i < dataGridView1.Rows.Count - 1 ; i++)
            {
                row = dataGridView1.Rows[i];

                if (row.Cells[0].Value.ToString().Equals(enteredText))
                {
                    dataGridView1.CurrentCell = row.Cells[0];
                    textBox2.Text = row.Cells[02].Value.ToString();
                    break;
                }
            }

Wieso kann ich nur die erste Zeile in meinem datagridview durchsuchen. Sprich ich bekomme nur ein Ergebniss aus der ersten Zeile.

Als ich den Code zuvor an einem anderen gridview getestet habe funktionierte es. Da waren die daten aber über eine odbc Datenquelle an dem genau gleichen File.

Und wieso funktioniert der Code nur genau an der ersten zeile. Versteh ich nicht. Bitte um Hilfe.

MFG Joe
 

joe81

Grünschnabel
Hallo

Problem gelöst
Code:
string[] rows = allData.Split("\n".ToCharArray());


\n und nicht \r ist die Lösung

Ich hoffe das hilft eventuell mal jemandem

MFG Joe