Filterung datagridview von textbox ändern
Mithilfe von Linq to sql über bindingsource-Steuerelement in WinForms, ich konnte nicht damit es funktioniert:
private void textBox1_TextChanged(object sender, EventArgs e)
{
productBindingSource.Filter = string.Format("ProductName LIKE '*{0}*'", textBox1.Text);
MessageBox.Show("Changed");
}
NorthwindDataContext dc;
private void FrmFilter_Load(object sender, EventArgs e)
{
//create new data context
dc = new NorthwindDataContext();
//set the binding source data source to the full order table
var qry = (from p in dc.Products select p).ToList();
this.productBindingSource.DataSource = dc.GetTable<Product>();
}
Geben, wenn ich einige Buchstaben in das Textfeld passiert nichts in der datagridview.
Vielen Dank für die Ratschläge ...
Es ist höchst unwahrscheinlich, dass Ihre Datenquelle hat eine dataGridViewTextBoxColumn2 Spalte, wie es aussieht, gehört zu den DataGridView-Spalte. Versuchen Sie die Filterung auf die Spalte der Datenquelle, die Ihre datagridview verwenden.
dies versucht: dies.productBindingSource.Filter = string.Format("ProductName like '%{0}%'", textBox1.Text.Trim().Ersetzen("'", """)); Nichts hat sich geändert.
dies versucht: dies.productBindingSource.Filter = string.Format("ProductName like '%{0}%'", textBox1.Text.Trim().Ersetzen("'", """)); Nichts hat sich geändert.
InformationsquelleAutor Sami-L | 2012-07-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen, ändern Sie Ihren code wie folgt Aussehen:
Stellen Sie sicher, dass Ihre TextChanged-Ereignis ist verdrahtet und tatsächlich ausgeführt wird. Auch, ich nahm qry aus dem Beispiel, da du nicht mit ihm überall in den geposteten code.
älteren Bearbeitungen:
Sollten Sie nicht zurücksetzen die DataSource des Gitters.
Versuchen Sie es zu:
Ich würde Sie vermeiden, sich Gedanken über diese zu ersetzen spezielle Zeichen im moment. Holen Sie sich die filter arbeiten ersten.
Hier ist ein funktionierendes Beispiel mit nur einem DataGridView und eine TextBox auf einem Formular:
sorry, ich habe diese ohne Erfolg, wird Das datagrid-Inhalte bleiben die gleichen.
Nur um zu überprüfen, aber ist dein DataGridView mit productBindingSource, wie es die DataSource bereits? Es sein sollte.
Ja, Mein DataGridView ist mit productBindingSource als die DataSource schon, und wenn ich Sie laden das Formular datagridview ist voll, ich danke Ihnen für Ihre Bemühungen Lars ... Bitte überprüfen Sie den neu hinzugefügten code oben.
Ich fügte hinzu, ein funktionierendes Beispiel.
InformationsquelleAutor LarsTech
diese Arbeit gut für mich!
InformationsquelleAutor Muhammad Asad