+1 800 256 3608 (toll-free in North America) or +49 7531 90 60 10| service@combit.com

Filter über Variablen?


(Guest) #1

Hallo
Ich nutze LL14

Ich binde meine Datenquelle per LinQ an LL. Dabei möchte ich jetzt die Records filtern, die gedruckt werden dürfen/oder nicht.
Welche Daten das sind, kann der User im Programm auswählen.

D.h. ich möchte Variablen übergeben, die eine Nummer beinhalten, die nicht gedruckt werden dürfen.
Mit LL.Variables.Add(“Filter”, 1)
würde ich dann also den Datensatz mit der Nummer 1 nicht drucken.
Soweit, so gut, aber wie kann ich das für x Datensätze machen? - Variables.Add hat nicht die Möglichkeit Array’s zu übergeben.

WIE DANN?

Danke für eure Hilfe schon jetzt!


(Guest) #2

Hi

Mit der LinQ Anbindung kenne ich mich leider nicht aus. Aber bei uns hat
es sich bewärt, die Daten im Programm-Code aufzubereiten und dann LL zu
übergeben. Im Code hat man einfach viel mehr Möglichkeiten, bzw ist
nicht eingeschränkt.

Gruess,
Reto S.

Harald Bacik schrieb:

Hallo
Ich nutze LL14

Ich binde meine Datenquelle per LinQ an LL. Dabei möchte ich jetzt die Records filtern, die gedruckt werden dürfen/oder nicht.
Welche Daten das sind, kann der User im Programm auswählen.

D.h. ich möchte Variablen übergeben, die eine Nummer beinhalten, die nicht gedruckt werden dürfen.
Mit LL.Variables.Add(“Filter”, 1)
würde ich dann also den Datensatz mit der Nummer 1 nicht drucken.
Soweit, so gut, aber wie kann ich das für x Datensätze machen? - Variables.Add hat nicht die Möglichkeit Array’s zu übergeben.

WIE DANN?

Danke für eure Hilfe schon jetzt!


(Guest) #3

Hey

Tja, das probiere ich schon die ganze Zeit, doch leider kann man LinQ Daten anscheinend nicht so ändern, ohne das sie damit auch in der DB geändert werden. Somit kann ich im Code nicht die Datensätze wegfiltern, die ich nicht möchte, denn sonst sind sie für immer gefiltert… ;>

DANKE

Hi

Mit der LinQ Anbindung kenne ich mich leider nicht aus. Aber bei uns hat
es sich bewärt, die Daten im Programm-Code aufzubereiten und dann LL zu
übergeben. Im Code hat man einfach viel mehr Möglichkeiten, bzw ist
nicht eingeschränkt.

Gruess,
Reto S.

Harald Bacik schrieb:

Hallo
Ich nutze LL14

Ich binde meine Datenquelle per LinQ an LL. Dabei möchte ich jetzt die Records filtern, die gedruckt werden dürfen/oder nicht.
Welche Daten das sind, kann der User im Programm auswählen.

D.h. ich möchte Variablen übergeben, die eine Nummer beinhalten, die nicht gedruckt werden dürfen.
Mit LL.Variables.Add(“Filter”, 1)
würde ich dann also den Datensatz mit der Nummer 1 nicht drucken.
Soweit, so gut, aber wie kann ich das für x Datensätze machen? - Variables.Add hat nicht die Möglichkeit Array’s zu übergeben.

WIE DANN?

Danke für eure Hilfe schon jetzt!


(Guest) #4

Heya

Wieso veränderst du auch die Daten in der Datenquelle? Frag die Daten
doch einfach ab(rein in ein DataSet) und modifizier danach das Dataset
nach deinen Bedürfnissen, bzw bau ein neues auf.
Funktioniert bei uns tiptop. Unser DataAccess Layer liefert die Daten,
unser Reporting Layer bereitet die effektive Datenquelle(DataSet) für
die Reports mit dem DataAccess und der BusinessFacace tiptop auf. Somit
müssen in LL nur noch die Felder richtig anordnet, ev Gruppieren usw.
werden.

Gruss

Harald Bacik schrieb:

Hey

Tja, das probiere ich schon die ganze Zeit, doch leider kann man LinQ Daten anscheinend nicht so ändern, ohne das sie damit auch in der DB geändert werden. Somit kann ich im Code nicht die Datensätze wegfiltern, die ich nicht möchte, denn sonst sind sie für immer gefiltert… ;>

DANKE

Hi

Mit der LinQ Anbindung kenne ich mich leider nicht aus. Aber bei uns hat
es sich bewärt, die Daten im Programm-Code aufzubereiten und dann LL zu
übergeben. Im Code hat man einfach viel mehr Möglichkeiten, bzw ist
nicht eingeschränkt.

Gruess,
Reto S.

Harald Bacik schrieb:

Hallo
Ich nutze LL14

Ich binde meine Datenquelle per LinQ an LL. Dabei möchte ich jetzt die Records filtern, die gedruckt werden dürfen/oder nicht.
Welche Daten das sind, kann der User im Programm auswählen.

D.h. ich möchte Variablen übergeben, die eine Nummer beinhalten, die nicht gedruckt werden dürfen.
Mit LL.Variables.Add(“Filter”, 1)
würde ich dann also den Datensatz mit der Nummer 1 nicht drucken.
Soweit, so gut, aber wie kann ich das für x Datensätze machen? - Variables.Add hat nicht die Möglichkeit Array’s zu übergeben.

WIE DANN?

Danke für eure Hilfe schon jetzt!


(Guest) #5

Hallo Reto

Die Antwort ist ganz einfach: es gibt keine Möglichkeit LinQ Daten in
ein DataSet zu bekommen (zumindest nichts, ohne riesen Aufwand) - Da
LinQ selbst die Daten hält & somit ein DataSet überflüssig macht. Mit
dem großen Nachteil, dass ich die Daten im Vorhinein richtig aus der DB
holen muss, was (wie ich mittlerweile draufgekommen bin) nicht so toll
ist, wenn man z.B. “nur” Daten aus einer Liste übernehmen möchte, wenn
der Enduser z.B. per Checkbox nur einige Daten auswählt.

mfg

-----Ursprüngliche Nachricht-----
Von: Reto Steimen [mailto:steimen.r@r…]
Bereitgestellt: Dienstag, 06. Oktober 2009 08:42
Bereitgestellt in: combit.public.de.listlabel
Unterhaltung: Filter über Variablen?
Betreff: Re: Filter über Variablen?

Heya

Wieso veränderst du auch die Daten in der Datenquelle? Frag die Daten
doch einfach ab(rein in ein DataSet) und modifizier danach das Dataset
nach deinen Bedürfnissen, bzw bau ein neues auf.
Funktioniert bei uns tiptop. Unser DataAccess Layer liefert die Daten,
unser Reporting Layer bereitet die effektive Datenquelle(DataSet) für
die Reports mit dem DataAccess und der BusinessFacace tiptop auf. Somit
müssen in LL nur noch die Felder richtig anordnet, ev Gruppieren usw.
werden.

Gruss

Harald Bacik schrieb:

Hey

Tja, das probiere ich schon die ganze Zeit, doch leider kann man LinQ
Daten anscheinend nicht so ändern, ohne das sie damit auch in der DB
geändert werden. Somit kann ich im Code nicht die Datensätze wegfiltern,
die ich nicht möchte, denn sonst sind sie für immer gefiltert… ;>

DANKE

Hi

Mit der LinQ Anbindung kenne ich mich leider nicht aus. Aber bei uns
hat

es sich bewärt, die Daten im Programm-Code aufzubereiten und dann LL
zu

übergeben. Im Code hat man einfach viel mehr Möglichkeiten, bzw ist
nicht eingeschränkt.

Gruess,
Reto S.

Harald Bacik schrieb:

Hallo
Ich nutze LL14

Ich binde meine Datenquelle per LinQ an LL. Dabei möchte ich jetzt
die Records filtern, die gedruckt werden dürfen/oder nicht.

Welche Daten das sind, kann der User im Programm auswählen.

D.h. ich möchte Variablen übergeben, die eine Nummer beinhalten, die
nicht gedruckt werden dürfen.

Mit LL.Variables.Add(“Filter”, 1)
würde ich dann also den Datensatz mit der Nummer 1 nicht drucken.
Soweit, so gut, aber wie kann ich das für x Datensätze machen? -
Variables.Add hat nicht die Möglichkeit Array’s zu übergeben.

WIE DANN?

Danke für eure Hilfe schon jetzt!


(Guest) #6

Moin moin

Hmm, also spontan bin ich gerade auf den “LINQ to DataSet” Artikel in
der MSDN
gestossen( der
genauer dieses Thema beschreibt. Wenn du es wirklich nicht so einfach
hinkriegst, wieso dann überhaupt LINQ? Schnappt dir nen ADO.NET Provider
für deine Datenquelle und hol die Daten anders raus(würd ich so
machen). Mit LINQ im Speziellen kann ich dir leider nicht weiterhelfen,
arbeite mit Sql ohne Linq;)

Gruess

Harald Bacik schrieb:

Hallo Reto

Die Antwort ist ganz einfach: es gibt keine Möglichkeit LinQ Daten in
ein DataSet zu bekommen (zumindest nichts, ohne riesen Aufwand) - Da
LinQ selbst die Daten hält & somit ein DataSet überflüssig macht. Mit
dem großen Nachteil, dass ich die Daten im Vorhinein richtig aus der DB
holen muss, was (wie ich mittlerweile draufgekommen bin) nicht so toll
ist, wenn man z.B. “nur” Daten aus einer Liste übernehmen möchte, wenn
der Enduser z.B. per Checkbox nur einige Daten auswählt.

mfg

-----Ursprüngliche Nachricht-----
Von: Reto Steimen [mailto:steimen.r@r…]
Bereitgestellt: Dienstag, 06. Oktober 2009 08:42
Bereitgestellt in: combit.public.de.listlabel
Unterhaltung: Filter über Variablen?
Betreff: Re: Filter über Variablen?

Heya

Wieso veränderst du auch die Daten in der Datenquelle? Frag die Daten
doch einfach ab(rein in ein DataSet) und modifizier danach das Dataset
nach deinen Bedürfnissen, bzw bau ein neues auf.
Funktioniert bei uns tiptop. Unser DataAccess Layer liefert die Daten,
unser Reporting Layer bereitet die effektive Datenquelle(DataSet) für
die Reports mit dem DataAccess und der BusinessFacace tiptop auf. Somit
müssen in LL nur noch die Felder richtig anordnet, ev Gruppieren usw.
werden.

Gruss

Harald Bacik schrieb:

Hey

Tja, das probiere ich schon die ganze Zeit, doch leider kann man LinQ
Daten anscheinend nicht so ändern, ohne das sie damit auch in der DB
geändert werden. Somit kann ich im Code nicht die Datensätze wegfiltern,
die ich nicht möchte, denn sonst sind sie für immer gefiltert… ;>
DANKE

Hi

Mit der LinQ Anbindung kenne ich mich leider nicht aus. Aber bei uns
hat

es sich bewärt, die Daten im Programm-Code aufzubereiten und dann LL
zu

übergeben. Im Code hat man einfach viel mehr Möglichkeiten, bzw ist
nicht eingeschränkt.

Gruess,
Reto S.

Harald Bacik schrieb:

Hallo
Ich nutze LL14

Ich binde meine Datenquelle per LinQ an LL. Dabei möchte ich jetzt
die Records filtern, die gedruckt werden dürfen/oder nicht.

Welche Daten das sind, kann der User im Programm auswählen.

D.h. ich möchte Variablen übergeben, die eine Nummer beinhalten, die
nicht gedruckt werden dürfen.

Mit LL.Variables.Add(“Filter”, 1)
würde ich dann also den Datensatz mit der Nummer 1 nicht drucken.
Soweit, so gut, aber wie kann ich das für x Datensätze machen? -
Variables.Add hat nicht die Möglichkeit Array’s zu übergeben.

WIE DANN?

Danke für eure Hilfe schon jetzt!


(Guest) #7

Harald Bacik schrieb:

D.h. ich möchte Variablen übergeben, die eine Nummer beinhalten, die nicht gedruckt werden dürfen.
Mit LL.Variables.Add(“Filter”, 1)
würde ich dann also den Datensatz mit der Nummer 1 nicht drucken.

Mit einer Variablen kommst Du natürlich nicht hin, weil die ja nur pro
Bericht neu gesetzt wird und nicht pro Datensatz in der Tabelle.

So aus dem Stehgreif wüsste ich nicht, ob LL auch globale Felder
erlaubt, quasi ein LL.Fields.Add(“ShowRecord”, True).

Du könntest Dir eine eigene Druckroutine aufbauen wie in den Beispielen,
und am diese eine Callback-Funktion übergeben. Die Callback-Routine
rufst Du dann auf, wenn ein Datensatz gedruckt werden soll, und darin
känntest Du über LlDefineField dieses Feld abhängig von Deiner CheckBox
definieren, falls es LL.Fields.Add nicht geben sollte.

Gruß

Carmen


(Guest) #8

C. Smolne schrieb:

So aus dem Stehgreif wüsste ich nicht, ob LL auch globale Felder
erlaubt, quasi ein LL.Fields.Add(“ShowRecord”, True).

Ich habe gerade mal nachgesehen: Es gibt ein LL.Fields.Add, vielleicht
nicht gerade als Boolean, aber auf jeden Fall als
LL.Fields.Add(“ShowRecord”, “1”). In der Definition Deiner Tabelle
könntest Du dann bei ‘Anzeigen’ die Formel ShowRecords=‘1’ als Bedingung
eintragen. Ungetestet, ich gehe selbst immer den Weg über eigene
DataSets oder Objekte.

Gruß

Carmen