Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Crystal report
cook
myCSharp.de - Member



Dabei seit:
Beiträge: 193

Themenstarter:

Crystal report

beantworten | zitieren | melden

Hey leute,

ich habe ein formular aus dem ich daten aus einer Datenbank drucken möchte... allerdings muss ich paar variablen übergeben um etwas mit WHERE zu filtern. Geht das überhaupt mit Crystal report? Weil ich weis absolut nicht wie ich meine variablen da in den sql string einbauen soll...

greetz cook
private Nachricht | Beiträge des Benutzers
frisch
myCSharp.de - Member

Avatar #avatar-1724.gif


Dabei seit:
Beiträge: 2.082
Herkunft: Coburg / Oberfranken

beantworten | zitieren | melden

Was willst du da mit Crystal Reports? Da brauchst du wahrscheinlich einen Namespace.

Bei SQL wär das zum Beispiel using System.Data.SQLClient

wie das dann geht dürftest du hier im forum finden.
Es ist toll jemand zu sein, der nichts von der persönlichen Meinung Anderer hält. - frisch-live.de
private Nachricht | Beiträge des Benutzers
cook
myCSharp.de - Member



Dabei seit:
Beiträge: 193

Themenstarter:

beantworten | zitieren | melden

naja, ich hab es ja schon so weit das er mir ALLE daten ausliest aus der SQL-Datenbank.... aber ich will diese daten halt filtern ...

//Edit:

es würde mir auch schon helfen wie ich mein DataSet bei Projektdaten einbinden könnte irgendwie
private Nachricht | Beiträge des Benutzers
frisch
myCSharp.de - Member

Avatar #avatar-1724.gif


Dabei seit:
Beiträge: 2.082
Herkunft: Coburg / Oberfranken

beantworten | zitieren | melden

Du kannst einen dataAdapter anlegen und dann damit dein DataSet füllen.

myAdapter.Fill(myDataSet);

Du musst nur die benötigten einstellungen machen.
Es ist toll jemand zu sein, der nichts von der persönlichen Meinung Anderer hält. - frisch-live.de
private Nachricht | Beiträge des Benutzers
cook
myCSharp.de - Member



Dabei seit:
Beiträge: 193

Themenstarter:

beantworten | zitieren | melden

Sorry das ich das thema wieder aufgreife ... konnte das projekt nicht weiter machen da ich ein neues bekommen habe aber muss es jetzt noch zu ende bringen.
Also das mit den DataSets funzt irgendwie net. Weil wir bei uns alles mit integrierter sicherheit machen und dann funktioniert der connection string net... warum auch immer. Der will dann immernoch ne anmeldung haben und das geht net. Hat sonst jmd ne idee?
private Nachricht | Beiträge des Benutzers
AlfameisterT
myCSharp.de - Member



Dabei seit:
Beiträge: 154

beantworten | zitieren | melden

Bin mir nicht sicher ob ich dich richtig verstanden habe,
also CrystalReports benötigt erstmal die Struktur der Daten.
Entweder man läßt CrystalReports direkt auf eine Datenbank verbinden oder man übergibt ein Schema im XML Format.

Als nächstes benötigt CrystalReports die Daten. Entweder läßt du wieder direkt auf die DB zugreifen oder du übergibst ein DataSet.

In deinem Fall würde ich mein DataSet zusammenstellen (Tabellen, Relations usw.) und dann das Schema über die Methode DataSet.GetXmlSchema() bzw. WriteXmlSchema() als XML-File speichern.

Dann öffenst du den CrystalReports Designer und gibst als Datenquelle das XML File an.
Nun kannst du deinen Berichtsformular gestallten.
Zum Anzeigen deines Reports benötigst du den 'CrystalReportviewer'. Dieser hat die Eigenschaft 'ReportSource'. Hier kannst du ein Object vom Typ 'ReportDocument' übergeben. Im ReportDocument setzt du nur noch die DataSource und den CrystalReport welcher mit dem Designer erstellt wurde.
Und voala, fertig ist der Report...


Hier ein bischen Code:


ReportDocument newReport = new ReportDocument();
newReport.Load(MyReport.rpt);
newReport.SetDataSource(MyDataSet);
crystalReportViewer.ReportSource = newReport;	


.


Nachtrag:
Da du nur eine Unterauswahl der Daten anzeigen möchtest, wäre es Praktisch dem Report ein DataView zu übergeben. Leider funktioniert das nicht, so das du wohl oder übel ein passendes DataSet aus einer View oder aus einer entsprechenden SQL Abfrage erstellen mußt.
private Nachricht | Beiträge des Benutzers
cook
myCSharp.de - Member



Dabei seit:
Beiträge: 193

Themenstarter:

beantworten | zitieren | melden

So, vielen dank schonmal. Das hat mir auf jedenfall schonmal sau geholfen. Hab es hin bekommen. Kannst du mir jetzt auch noch sagen warum das so ist das ich ein Dateset mit 6 Rows habe und der mir nur die erste hin schreibt? Das nervt voll.
private Nachricht | Beiträge des Benutzers
cook
myCSharp.de - Member



Dabei seit:
Beiträge: 193

Themenstarter:

beantworten | zitieren | melden

Ok das mit den rows funzt auch ... aber net richtig ... Also ich habe zum Beispiel auf der rechten seite von meine Blatt die ausgabe von meinem Dataset... auf die linke seite schreibe ich was fixes und ich weis vorher nicht was mehr zeilen brauch .... also das fixe oder die DataSet ausgabe. Das problem ist jetzt das er dann teilweise so leerzeichen zwichen der ausgabe macht also so:

Row1

Row2

Row3

und es sollte sos sein

Row1
Row2
Row3

... wär cool wenn einer ne lösung hat.

Greetz cook
private Nachricht | Beiträge des Benutzers
AlfameisterT
myCSharp.de - Member



Dabei seit:
Beiträge: 154

beantworten | zitieren | melden

Kommen die Leerzeilen zustande weil den statischer Text nicht in eine Zeile passt?

Generel wird der Abstand einer Reihe von der Höhe deiner Section 'Details' festgelegt.
Mehr Abstand wirds nur wenn das Feld die Eigenschaft 'Multiline' (oder so ähnlich) hat, ansonsten wird der String abgeschnitten wenn die Feldlänge nicht ausreicht.


.
private Nachricht | Beiträge des Benutzers
cook
myCSharp.de - Member



Dabei seit:
Beiträge: 193

Themenstarter:

beantworten | zitieren | melden

Sorry das ich mich schon wieder mit dem scheiss Thema melden muss. Aber ich werd einfach nicht fertig damit.

Hab jetzt das prob das ich eine solche formatierung haben will:

Feste Überschrift
daten aus einem DataSet
daten aus einem DataSet
daten aus einem DataSet

Feste Überschrift
daten aus einem DataSet
daten aus einem DataSet
daten aus einem DataSet

Feste Überschrift
daten aus einem DataSet
daten aus einem DataSet
daten aus einem DataSet

Geht das? Wenn ja wie? Ich versuche es jetzt schon sowas von lange. Hab echt bald kein bock mehr drauf =).

Thx cook
private Nachricht | Beiträge des Benutzers
AlfameisterT
myCSharp.de - Member



Dabei seit:
Beiträge: 154

beantworten | zitieren | melden

Hoffe es ist noch aktuell,

also man kann bei CrystalReports Gruppen bilden.
Gruppen stellen immer Subelemente (Untertabellen) dar. Diese können auch wieder Kopf, Details und Fuß haben.

Also sowas, nur prinzipiell dargestellt

Überschrift
tab[0]Col[0]

Überschrift
tab[1]Col[0]

Überschrift
tab[2]Col[0], tab[2]Col[1]
tab[2]Col[0], tab[2]Col[1]

tab[1]Col[0]

Überschrift
tab[2]Col[0], tab[2]Col[1]
tab[2]Col[0], tab[2]Col[1]

tab[0]Col[0]

....



Mir ist aber nicht bekannt ob man Gruppen nach Anzahl der Datensätze bilden kann.


.
private Nachricht | Beiträge des Benutzers
torkel
myCSharp.de - Member



Dabei seit:
Beiträge: 506
Herkunft: Swiss

beantworten | zitieren | melden

Hallo

ich versuche auch schon seit 2 Tage ein Report zu erstellen.. ich habe es mit einem DataSet versucht, aber der zeigt mir daten an, die gar nciht vorhanden sind.

gibt es irgendwo eine Anleitung wie man einen Report erstellt? oder kann mir jemand behilfliche sein? Schritt für Schritt.

mfg
private Nachricht | Beiträge des Benutzers