DevTrain Startseite Advanced Developers Conference vom 14.-15. Februar 2011  
  
  
SUCHEN:  
ARTIKEL ONLINE: 525   

Kategorien
.NET
Datenbanken
Web
XML

Allgemein
Camp
Foren
Events
Persönliche Einstellungen
Registrieren
Prämien Shop
Kontakt
Impressum
Über DevTrain

Autoren


   Autor: Hannes Preishuber Artikel Drucken
        
Views und Filter in ADO.NET

Die Beta 2 von Visual Studio .net wird in Massen an die Entwickler versand. So wird es Zeit hier auf www.devtrain.de verstärkt technische Artikel zum Thema zu bringen.

ADO.NET lebt von disconnected Daten. Die Daten werden von der Datenquelle geholt und im Dataset zwischengespeichert. Um nun nicht für jede Kleinigkeit die Datenbank bemühen zu  müssen, können diese Offline Daten bearbeitet, sortiert und eben gefiltert werden.

In dieses Dataset können auch Ergebnisse von mehreren SQL Select Statements geschoben werden. Diese wiederum können auch wieder ohne Connection in Beziehung (=Relation) gebracht werden.

Über das DataView werden diese Daten in eine Form gebracht, die an ein Control bindbar ist. So können zb die Zeilen einer Tabelle an ein Grid gebunden werden.

[CS]

MyDataGrid.DataSource=ds.Tables["Products"].DefaultView;

[VB]

MyDataGrid.DataSource=ds.Tables("Products").DefaultView

Dieser Defaultview stellt immer einen Dataview dar. Man könnte also auch vorher über ein Objekt arbeiten.

Dim dv as new Dataview()

dv=ds.Tables("Products").DefaultView

Mit diesem Dataview kann nun weiter gearbeitet werden. So wollen wir zunächst die Daten filtern über das Schlüsselwort Rowfilter. Die Anwendung ist ähnlich wie in der SQL Syntax.

dv.RowFilter = "CustomerID='ALFKI'"

Den Filter können Sie zurücksetzen indem Sie einen Leerstring zuweisen.

Die Filterbedingung kann auch über die Schlüsselwörter AND oder OR zusammengestzt werden. Als Asterix steht der * zur Verfügung. Genauso steht das LIKE aus SQL zur Verfügung. Ein Spezialfall ist, wenn der Filterstring auf einen Asterix Filtern soll, dann muss dieser in eckige [] Klammern gesetzt werden. Ein weiterer Sonderfall ist ein Asterix innerhalb des Filterstrings (AL*KI). Dies ist nicht möglich.

Das Filtern ist vom Vorgehen her, dem aus Access am ähnlichsten.

Die nächste nützliche Funktion ist sicher das umsortieren der Daten. Eine sinnvolle Anwendung ist das Sortieren in einem Grid nach Spalten. Das Datagrid bringt einiges dafür schon mit. Dies sei aber an anderer Stelle behandelt. Hier geht es um das reine sortieren. Dazu lässt sich direkt auf dem DefaultView das Sort Kriterium setzen. Dies ist in erster Linie ein Tabellenfeld.
ds.Tables("Products").DefaultView.Sort="FeldName"

Trotz intensiver suche, habe ich bisher keine Eigenschaft für Ab- bzw. Aufsteigendes bzw.  kombiniertes sortieren gefunden.

Dieser Code bezeiht sich auf die BETA 2 des Frameworks.

 

 

 


DevTrain Camp - Schneller zum .NET 3.5 Developer
 
Verwandte Artikel      Verlinkte Dokumente
    Keine verknüpften Dokumente
    Keine Links vorhanden

  Erfasst am: 22.08.2001
  Gültig bis: 21.09.2001
3 Ratings
Bewertung: 60,0%
schlecht    sehr gut  

 
© Copyright 2007 ppedv AG