Hallo, im Moment lade ich daten aus einer XML-Datei in ein DataSet. Dieses wird an ein DataGridView gebunden. Das funktionier soweit, es werden alle Spalten und Zeilen angezeigt (sortieren geht auch ohne Probleme). Nun möchte ich gerne eine Filterfunktion auf diese angezeigten Daten legen. Diese soll nach Eingabe eines Stichwortes alle Zeilen anzeigen, in denen dieses vorkommt (Beispiel wäre die Suchfunktion in div. Musikplayern). So nun meine Frage: Wie kann ich effizient/einfach so eine Funktion umsetzen oder hat das Framewrok schon evtl. fertige dabei? Ideen und Vorschläge sind willkommen. Ich hab mir bereits auch schon was überlegt, was ich aber für nicht so effizient halte, weshalb meine Frage enstanden ist: 1. Lade Daten in DataSet "daten" 2. Erzeuge ein DataSet "suchergebnis" 3. durchsuche "daten" nach Stichwort 4. wenn Stichwort in "daten" entdeckt, kopiere Datensatz in "suchergebnis" 5. binde "suchergebnis" an das DataGridView und zeige das Ergebnis an P.S. habe gerade ein DataView in der MSDN entdeckt, werd mir mal ansehen, obs damit vielleicht geht es heißt nämlich : "Stellt eine datenbindungsfähige, angepasste Ansicht einer DataTable zum Sortieren, Filtern, Durchsuchen, Bearbeiten und Navigieren dar." Gruß, Willi
Ok, hab eine weitere Lösung gefunden: der DataView war schon die richtige Spur. Es gibt den DataViewManager, dem man Filter unter DataViewSettings zuweisen kann. Dann übergibt man als DataSource den DataViewManager und schon wird das Ganze gefiltert. (kurz: XML-Datei -> DataSet -> DataViewManager -> Filter -> DataGridView) Nachteil ist, dass wenn man dem DataViewManger einen neuen Filter zuweist, wird die Anzeige nicht aktualisiert. Erst wenn ich mit new dynamisch einen neuen erzeuge und dem den Filter zuweise, dann geht's. Mal sehen ob es auch irgendwie anders geht. So nun aber eine Folgefrage: Beim Sortieren habe ich festgestellt, dass die Zahlen nicht nach Größe sondern nach String sortiert werden. Wie bringe ich dem System bei, dass es sich um Zahlen in manchen XML Daten handelt und es diese korrekt sortieren soll? An welcher Stelle sollte/kann es gemacht werden (XSL, DataSet, ViewManager oder GridView)? Gruß Willi
Sortierproblem von Zahlen auch gelöst. Hier habe ich einfach ein xml Schema verwendet. In diesem kann man den Datentyp und versch. Restriktionen festlegen. Nun funzt auch alles. Ist vielleicht nicht der beste Weg, aber es tut. P.S. Irgendwie schein ich einen Monolog zu führen. Woran das wohl liegt? Niemand Ideen parat? Oder einfach noch nie mit sowas befasst? Drücke ich mich nicht verständlich genug aus? Zu Abstrakt? Sollen das nächste Mal konkrete Beispiele rein?
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.