Hi Leute, hoffe ich bin hier richtig.
Ich öffne via Datagridview eine CSV Datei, in dieser CSV datei wird dann gearbeitet. (Namen rausgesucht, Datums eingefügt etc..)
nun habe ich eine Suche programmiert welche mir zumindest die Zeilen markiert in denen das gesuchte Wort vorkommt. Allerdings wäre es nun praktisch, dass das Programm auch zur Zeile springt bzw. auch zur übernächsten wenn die erste nicht die richtige ist!
Leider stoßen hier meine Kenntnisse an ihre Grenzen. Vielleicht kann mir ja jemand von euch helfen?
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102:
| void ReadCSV(String file) { Clear_all(); String rowValue; string[] cellValue;
if (System.IO.File.Exists(file)) { StreamReader streamReader = new StreamReader(file); rowValue = streamReader.ReadLine(); cellValue = rowValue.Split(';');
for (int i = 0; i <= cellValue.Count() - 1; i++) { DataGridViewTextBoxColumn column = new DataGridViewTextBoxColumn();
column.Name = cellValue[i]; column.HeaderText = cellValue[i]; dataGridView1.Columns.Add(column); }
while (streamReader.Peek() != -1) { rowValue = streamReader.ReadLine(); cellValue = rowValue.Split(';'); dataGridView1.Rows.Add(cellValue); }
streamReader.Close(); }
}
void searchCSV() {
string searchValue = search.Text; DataGridViewRow row;
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect; try { for (int i = 0; i < dataGridView1.Rows.Count - 1; i++) { row = dataGridView1.Rows[i];
for (int j = 0; j < 8; j++) {
if (row.Cells[j].Value == null) continue;
if (row.Cells[j].Value.ToString().Contains(searchValue)) { row.Selected = true; break; } } } } catch (Exception exc) { MessageBox.Show(exc.Message); }
}
void SaveCSV(String file) { StreamWriter streamWriter = new StreamWriter(file); string strHeader = "";
for (int i = 0; i<dataGridView1.Columns.Count; i++) { strHeader += dataGridView1.Columns[i].HeaderText + ";"; } strHeader = strHeader.TrimEnd(';');
streamWriter.WriteLine (strHeader);
for(int m = 0; m< dataGridView1.Rows.Count -1; m++) { string strRowValue = "";
for(int n = 0; n < dataGridView1.Columns.Count; n++) { strRowValue += dataGridView1.Rows[m].Cells[n].Value + ";"; } strRowValue = strRowValue.TrimEnd(';'); streamWriter.WriteLine(strRowValue); } streamWriter.Close(); } |
Moderiert von Christian S.: C#-Tags hinzugefügt
Moderiert von Th69: Topic aus C# - Die Sprache verschoben am Mo 11.06.2018 um 14:35
Moderiert von Th69: Titel geändert (war "Weitersuche").