Laden...

Wie kann ich eine BindingSource filtern?

Erstellt von Bonaqua vor 4 Jahren Letzter Beitrag vor 4 Jahren 947 Views
B
Bonaqua Themenstarter:in
35 Beiträge seit 2011
vor 4 Jahren
Wie kann ich eine BindingSource filtern?

Hallo,
leider klappt das Filtern meiner BindingSource nicht und ich weiß leider nicht, wie ich das Problem lösen kann.
Ich möchte gerne, beim Eingabe in die Textbox entsprechend filtern. Ich hoffe, es kann mir jemand helfen?! Danke!


private void SetDataSource()
{
    List<Inventar> list = D_Inventur.ListeInventarBestandAbrufen(i_Id);
    m_BindingList = new BindingList<Inventar>(list);
    m_BindingSource.DataSource = m_BindingList;
}


private void LoadDataGridView()
{
    if (m_BindingSource == null) { return; }
    if (dgInventar.DataSource != null)
    {
        dgInventar.DataSource = null;
        dgInventar.Rows.Clear();
        dgInventar.Columns.Clear();
    }

    dgInventar.AutoGenerateColumns = true;
    dgInventar.DataSource = m_BindingSource;
}

 
private void tbFilterArtikelnummer_TextChanged(object sender, EventArgs e)
{
    m_BindingSource.Filter = string.Empty;
    string sReplaced = EscapeLikeValues.EscapeLikeValue(tbFilterArtikelnummer.Text);
    m_BindingSource.Filter = string.Format("(Nummer LIKE '%{0}%' OR Bezeichnung LIKE     '%{0}%')", sReplaced);
 
}

16.807 Beiträge seit 2008
vor 4 Jahren

Und was genau klappt nicht?

Siehe [Hinweis] Wie poste ich richtig? Punkt 5 😃
Problem genau beschreiben - inkl. genauer Fehlermeldung - und konkrete Fragen stellen
"klappt nicht" ist keine Fehlerbeschreibung 😉

PS: im Sinne von Clean Code ist "m_" als Prefix ein No Go 😃
Ein übles Relikt, wenn man aus der C/C++ Welt kommt.

B
Bonaqua Themenstarter:in
35 Beiträge seit 2011
vor 4 Jahren

Entschuldigung! Mit "es geht nicht" wollte ich sagen, dass einfach nichts passiert, d.h. wie wenn es keinen Filter gibt. Die Daten werden nicht gefiltert.

P.S.: Danke für den Hinweis bzgl. m_

16.807 Beiträge seit 2008
vor 4 Jahren

Solche Situationen, in denen Du nicht verstehst, wieso Deine Logik nicht funktioniert, lassen sich super selbst debuggen - aber ohne Glaskugel aus der Ferne für uns nicht so ohne weiteres erkennen.
[Artikel] Debugger: Wie verwende ich den von Visual Studio?
Setzt Dir Breakpoints und schaue ob an den Punkten das passiert, was passieren soll.

Keiner hier kennt EscapeLikeValues.EscapeLikeValue und was es macht (ich vermute aber, dass Du es Dir von einem Snippet wegkopiert hast).
Du jedoch hast alles vor Dir uns kannst debuggen.

Du kannst jedoch, wenn mich nicht alles täuscht, auch mit Linq Filtern.
Das macht es Dir evtl. einfacher.