Laden...

Crystal report

Erstellt von cook vor 18 Jahren Letzter Beitrag vor 18 Jahren 3.045 Views
C
cook Themenstarter:in
193 Beiträge seit 2005
vor 18 Jahren
Crystal report

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

2.082 Beiträge seit 2005
vor 18 Jahren

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

C
cook Themenstarter:in
193 Beiträge seit 2005
vor 18 Jahren

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 😠

2.082 Beiträge seit 2005
vor 18 Jahren

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

C
cook Themenstarter:in
193 Beiträge seit 2005
vor 18 Jahren

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?

A
154 Beiträge seit 2005
vor 18 Jahren

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.

C
cook Themenstarter:in
193 Beiträge seit 2005
vor 18 Jahren

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.

C
cook Themenstarter:in
193 Beiträge seit 2005
vor 18 Jahren

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

A
154 Beiträge seit 2005
vor 18 Jahren

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.

.

C
cook Themenstarter:in
193 Beiträge seit 2005
vor 18 Jahren

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

A
154 Beiträge seit 2005
vor 18 Jahren

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.

.

T
506 Beiträge seit 2005
vor 18 Jahren

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