Datagridview suche

Simone18

Grünschnabel
Hallöchen,

vielleicht ist jemand so nett und kann mir unter die Arme greifen.

Ich habe ein DGV (VB) das durch eine Access DB befüllt wird.
Im DGV wird nur die Spalte F2 (F1-F15) angezeigt in der ca. 400 verschiedene Namen und Begriffe stehen.
Um mir das scrollen zu ersparen, möchte ich eine Textbox anlegen, in der ich nur den Anfangsbuchstaben, einen Teil des Namens oder den ganzen Namen eingebe und die DGV entsprechend filtert.

Vielleicht ist wer so nett mir eine kleine Anleitung zu geben, wie ich das bewerkstelligen kann?

Dankeschön
Gruß
Simone
 
Zuletzt bearbeitet:
Hallo Simone,

ich würde diese "Suchfunktion" ausprogrammieren, indem der Text von jeder Zelle mit dem gesuchten Wortteil verglichen wird.

Da ich nicht aktiv VB proggramiere habe ich Dir mal einen Lösungsvorschlag mit C# gemacht (sollte in VB ähnlich sein):

Code:
				//Liste für die Suchresultate erstellen
				List<string> suchresultate = new List<string>();
				//zu suchender String
				string gesucht = "a";

				//Schleife für jede Zeile zu prüfen
				for (int zeile = 0; zeile < dataGridView.Rows.Count; zeile++)
				{
					//Schleife für jede Spalte zu prüfen
					for (int spalte = 0; spalte < dataGridView.Rows[zeile].Cells.Count; spalte++)
					{
                        //String mit Zelleninhalt erstellen
						string zelle = dataGridView.Rows[zeile].Cells[spalte].Value.ToString();
						for (int zeichen = 0; zeichen < (zelle.Length - gesucht.Length) + 1; zeichen++)
						{
							//Prüfen, ob der gewählte String mit dem gesuchten Buchstaben beginnt (--> in VB: Mid(zelle, zeichen, gesucht.Length) oder so..)
							if (zelle.Substring(zeichen, gesucht.Length) == gesucht)
							{
								//gefundene Daten der Liste hinzufügen
								suchresultate.Add(dataGridView.Rows[zeile].Cells[spalte].Value.ToString());
							}
						}
					}
				}

Je nach dem wie du die Suchresultate ausgeben willst, kannst du auch eine Liste anhand eines selbst erstellten Datenobjektes erstellen, die Du deinem DataGridView als DataSource mitgeben kannst und so die Daten in dem vorhin durchsuchten DataGridView ausgeben kannst.

Hinweis: Ich habe diesen Code nicht getestet. Bitte melden, wenn was nicht funktioniert ;)


Ich hoffe, dass ich Dir weiterhelfen konnte

Gruss
Nico
 

Neue Beiträge

Zurück