[C#, bindingsource, filter] Gefilterde data wordt niet getoo

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb een Windows form met een aantal textboxen, comboboxen en labels.
Deze controls heb ik gekoppeld aan mijn SQLite database via Databindings.

Ik heb een dataset met de verschillende tabellen. Hier heb ik een DataViewManager van gemaakt.
Deze DVM gebruik ik als datasource:
C#:
1
this.mainForm.Artikelnummer.DataBindings.Add("Text", this.DsView, "Artikelen.Artikelnummer");


Dit werkt prima. De data uit de database wordt getoond en ik kan zo ook de data wijzigen.
Ook heb ik een paar buttons: New, Save, Previous, Next, First, Last voor navigatie.

Inmiddels heb ik meer dan 1000 records in mijn tabel 'Artikel'. Het wordt dus wat onoverzichtelijk.
Ik probeer nu om een filter te zetten. Het filter vul ik zelf in een textbox in.

De volgende code filtert goed:
C#:
1
2
3
MessageBox.Show(this.ds.Tables["Artikelen"].DefaultView.Count.ToString());
this.ds.Tables["Artikelen"].DefaultView.RowFilter = filter;
MessageBox.Show(this.ds.Tables["Artikelen"].DefaultView.Count.ToString());

De eerst mbox geeft 1100 en de tweede 1. Dat klopt ook.
Nu moet ik de nieuwe dataset toewijzen aan mijn form controls en daar gaat het mis.

Het volgende heb ik al geprobeerd, maar ik blijf alle records houden:
C#:
1
2
3
this.DsView = this.ds.DefaultViewManager;
this.mainForm.ArtikelnummerArtikel.DataBindings.Clear();
this.mainForm.ArtikelnummerArtikel.DataBindings.Add("Text", this.DsView, "Artikelen.Artikelnummer");


Ik ben al de hele dag en avond aan het zoeken en lezen. Er zijn zat voorbeelden voor datagrids, maar niet voor textboxen.

Iemand nog een idee?

Acties:
  • 0 Henk 'm!

  • YakuzA
  • Registratie: Maart 2001
  • Niet online

YakuzA

Wat denk je nou zelluf hey :X

Hij sorteert niet je table, maar je defaultview van je table, deze kun je weer ophalen met:

C#:
1
Tables["Artikelen"].DefaultView.ToTable()


Ik zie wel dat je iets met de defaultviewmanager doet, weet niet exact welke invloed dat heeft?

[ Voor 24% gewijzigd door YakuzA op 01-03-2011 09:27 ]

Death smiles at us all, all a man can do is smile back.
PSN


Acties:
  • 0 Henk 'm!

  • Facer
  • Registratie: Januari 2002
  • Niet online

Facer

Ken net.....

Kan je een voorbeeld geven wat je zoal gebruikt voor de variable filter?

Voorbeeld van een filter:
C#:
1
this.ds.Tables["Artikelen"].DefaultView.RowFilter = "Quantity > 3";

[ Voor 45% gewijzigd door Facer op 01-03-2011 09:36 . Reden: Code voorbeeld toegevoegd ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Als filter gebruik ik bijvoorbeeld "LeverancierID = 8" of "MerkID = 4"

Als ik vervolgens het aantal records tel in de DefaultView dan is dat wel het juiste gefilterde aantal. Ik verwacht dan ook niet dat mijn filter niet goed is, maar dat mijn datasource voor mijn controls geen weet heeft van mijn filter.