Suchen Sie in DataGridView in einer Spalte nach einem WertC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Suchen Sie in DataGridView in einer Spalte nach einem Wert

Post by Anonymous »

Ich möchte, dass der Benutzer in der DataGridView (dgv) nach einer Zahl in einer Spalte suchen kann. Der dgv kann viele Rekorde halten. Jeder Datensatz hat eine Projektnummer. Daher möchte ich, dass der Benutzer in der Spalte „Projektnummer“ nach einer Projektnummer suchen kann. Die Spalten, die ich habe, sind: ProjectID(nicht sichtbar); Bild (kein Headertext); Projektnummer; Projektname; Unternehmen; Kontakt.

Hier ist mein Code:

Code: Select all

private void btnSearch_Click(object sender, EventArgs e)
{
string searchValue = textBox1.Text;
int rowIndex = -1;

dgvProjects.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
try
{
foreach (DataGridViewRow row in dgvProjects.Rows)
{
if (row.Cells[row.Index].Value.ToString().Equals(searchValue))
{
rowIndex = row.Index;
dgvProjects.Rows[row.Index].Selected = true;
break;
}
}
}
catch (Exception exc)
{
MessageBox.Show(exc.Message);
}
}
Problem Nr. 1: Was es bisher tut: Der Benutzer gibt die Projektnummer in TextBox1 ein. Wenn er/sie auf die Schaltfläche klickt, sucht der Code in den Zeilen nach dieser Zeichenfolge, und wenn die Projektnummer gefunden wird, wird diese Zeile ausgewählt. Es funktioniert gut, aber nur einmal. Wenn ich nach einer anderen Projektnummer suchen möchte, passiert nichts.

Problem Nr. 2: Ich denke, dass dies besser gelöst werden kann, indem nur die Werte für die Spalte „Projektname“ durchsucht werden. Aber wie soll ich das richtig machen?

Der Code, den ich für die Suche verwendet habe, stammt aus dieser Antwort

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post