Ich mache gerade ein Schulprojekt und ich muss wissen, wie in jeder Zeile der Datagridview ein bestimmtes Wort in einer Spalte enthält, und ausblenden Sie die Zeilen, die das nicht enthalten Wort, in irgendeiner Spalte. Ich habe noch keinen Code, nur die Datagridview und das Textfeld auf dem Formular.Überprüfen, ob DataGridView das spezifische Wort enthält
Antwort
Sie nur filtern möchten, wenn die Textbox NICHT nicht null oder eine leere Zeichenfolge (stellen Sie sicher, dass Sie die Zeichenfolge trimmen Leerraum zu entfernen, vordere und hintere) ist.
(dataGridViewFields.DataSource as DataTable).DefaultView.RowFilter = string.Format("columnname like '%{0}%'", textBoxFilter.Text);
Filterausdrücke
columnname like '%{0}%'
bedeutet Spalten bestimmten Wort/String enthält.columnname not like '%{0}%
bedeutet NICHT
Ich gehe davon aus, dass Sie DataTable
als verwenden. Wenn Sie TextBox.Text
als RowFilter
übergeben und löschen, wird es eine leere Zeichenfolge.
Überprüfen Sie im TextChanged
Ereignis, ob die TextBox leer ist. Ihre Veranstaltung würde wie folgt aussehen:
private void textBoxFilter_TextChanged(object sender, EventArgs e)
{
if(!string.IsNullOrWhiteSpace(textBox1.Text))
{
(dataGridViewFields.DataSource as DataTable).DefaultView.RowFilter = string.Format("Field = '{0}'", textBoxFilter.Text);
}
}
Sie benötigen enthält die Zeilen und Zellen alle, iterieren und blenden Sie die Zeile, wenn Ihr Keyword in einer Zelle gefunden,
private void HideRow(string word)
{
foreach (DataGridViewRow row in dataGridView1.Rows)
{
foreach (DataGridViewCell cell in row.Cells)
{
var value = Convert.ToString(cell.Value);
if (word != value)
{
row.Visible = false;
break;
}
}
}
}
nennen diese Methode überall dort, wo Sie wollen, auf TextChanged
Event oder ButtonClick
Row.visible = false verursacht Currencymanager-Ausnahmen. Sie möchten zuerst die .Currentcell auf NULL setzen. – Luke
- 1. Überprüfen, ob die Zeile das Wort enthält
- 2. Ich möchte überprüfen, ob das extrahierte Wort englische Buchstaben enthält
- 3. Überprüfen Sie, ob PHP-Array eine nicht-spezifische Zeichenfolge enthält
- 4. Überprüfen, ob Gridview spezifische Bind-Eigenschaft enthält oder nicht
- 5. Überprüfen, ob die Zeichenfolge ein Wort enthält (keine Teilzeichenfolge!)
- 6. Überprüfen Sie, ob die URL ein Wort enthält
- 7. Überprüfen, ob die Zeichenfolge ein Wort im Array enthält
- 8. C# DataGridView Überprüfen, ob leer
- 9. Überprüfen Sie, ob Expression eine spezifische Eigenschaft
- 10. Überprüfen Sie, ob das Droppable das richtige ziehbare enthält?
- 11. Cmake: Überprüfen, ob das System das Verzeichnis enthält
- 12. Überprüfen, ob Zeile Zeichenfolge enthält
- 13. Überprüfen Sie, ob enthält Parameter
- 14. Überprüfen, ob NSMutableArray String enthält
- 15. Überprüfen, ob td Text enthält?
- 16. Überprüfen Sie, ob das Wort bereits in DB (PHP) ist
- 17. Inline-Assembly - Überprüfen Sie, ob das Wort ein Palindrom ist
- 18. Überprüfen, ob Swift String ein Wort ist
- 19. Überprüfen, ob das Array einen bestimmten Wert enthält
- 20. Überprüfen, ob das Objekt-Array boolesche Werte enthält true/false
- 21. Überprüfen Sie, ob das C# -Byte-Array einen String enthält
- 22. Überprüfen, ob das Objekt alle Schlüssel im Array enthält
- 23. Überprüfen, ob das Swift-Array die Instanz des Objekts enthält
- 24. Überprüfen Sie, ob das Regex-Untermuster kein vorheriges Untermuster enthält.
- 25. Überprüfen, ob das Feld im Formular Informationen enthält oder nicht
- 26. Prüfen Sie, ob das Wort alphanumerisch ist
- 27. Wie dynamisch überprüfen, ob Auswahlfeld Daten enthält
- 28. Überprüfen, ob URL enthält Bild UWP
- 29. Überprüfen Sie, ob Java-Array-Objekt enthält
- 30. Überprüfen, ob die Zeichenfolge führende Buchstaben enthält
warum nicht in sql selbst filtern –
ist das was du suchst nach? https://stackoverflow.com/questions/5843537/filtering-datagridview-without-changing-datasource – grepLines
@BhubanShrestha, weil das Ziel ist es, die Datagridview mit allem zu füllen und wenn der Benutzer will, wird er in der Lage sein zu filtern, um einige Datensätze leicht zu finden –