Filtern im Report

18/02/2008 - 09:28 von Peter Schmidt | Report spam
Hallo!

Ich habe ein DataSet, welches zwei Tabellen und eine Relation zwischen
diesen beiden Tabellen enthàlt. Nun habe ich auch ein Report mit diesen
beiden Tabellen erstellt und hatte ein paar Probleme, wie ich denn diesen
Report auch noch bevor ich ihn ausdrucke richtig filtern kann. Es scheint
so, als hàtte ich dieses Problem nun gelöst, doch ich möchte gerne von euch
wissen, ob diese Vorgehensweise so in Ordnung ist.

Das Filtern ermögliche ich folgendermaßen:

ds.Tables["Tabelle1"].DefaultView.RowFilter = "Name LIKE '" + txtName.Text +
"%'";

Danach binde ich dann einfach an die "DataSource"-Eigenschaft des Reports
das DataSet!

Kann man das so machen oder gibt es andere "bessere" Möglichkeiten?

Vielen Dank schonmal im Voraus!

Gruß
Peter Schmidt
 

Lesen sie die antworten

#1 Attila Krick
18/02/2008 - 17:19 | Warnen spam
Am Mon, 18 Feb 2008 09:28:30 +0100 schrieb Peter Schmidt:

Hallo!

Ich habe ein DataSet, welches zwei Tabellen und eine Relation zwischen
diesen beiden Tabellen enthàlt. Nun habe ich auch ein Report mit diesen
beiden Tabellen erstellt und hatte ein paar Probleme, wie ich denn diesen
Report auch noch bevor ich ihn ausdrucke richtig filtern kann. Es scheint
so, als hàtte ich dieses Problem nun gelöst, doch ich möchte gerne von euch
wissen, ob diese Vorgehensweise so in Ordnung ist.

Das Filtern ermögliche ich folgendermaßen:

ds.Tables["Tabelle1"].DefaultView.RowFilter = "Name LIKE '" + txtName.Text +
"%'";

Danach binde ich dann einfach an die "DataSource"-Eigenschaft des Reports
das DataSet!

Kann man das so machen oder gibt es andere "bessere" Möglichkeiten?

Vielen Dank schonmal im Voraus!

Gruß
Peter Schmidt



Hallo Peter,

meistens heiligt der zweck die mittel, aber vieleicht ein paar anregungen:

1. Mit dem Filter auf DefaultView làdst du vorher bestimmt alle datensàtze
in dataset, um diese anschl. zu filtern. bei 100.000 datensàtze und x usern
ist das nicht besonderst resourcend schonen. besser nur die benötigten
daten in dataset laden.

2. das zusammenstüpseln von sql-filter-statments birgt ein
sicherheitsrisiko, such mal nach "sql injection"

3. alternative vorgehsnweise könnte z.b. auch sein mit den
berichtsparamtern.

Grüße

Attila Krick

Ähnliche fragen