Laden...

DataSet-Datei für Crystal Reports erstellen

Erstellt von Afrokalypse vor 18 Jahren Letzter Beitrag vor 18 Jahren 3.873 Views
A
Afrokalypse Themenstarter:in
452 Beiträge seit 2005
vor 18 Jahren
DataSet-Datei für Crystal Reports erstellen

Hi leute 😉

man kann ja einen crystalreport ohne direkte datenbankanbindung erstellen lassen, indem man ein dataset benutzt (Eine Datei zum Erstellen eines XMD-Schemas mit DataSet-Klassen). ich habe mir mal so ein dataset erstellt, welches eine ID und 2 strings annehmen kann.

aus meinem buch habe ich mich in xml-schema eingelesen und in der gleichen art dieses dataset aufgebaut. bei einem xml-schema erstelle ich zu dem schema eine xml-datei in der die werte, die ich von meiner form aus übertrage, gespeichert werden.

aber wie mache ich das jetzt mit dem dataset und dem crystalreport?
ich kann bei der .rpt-datei vom crystalreport ja nur schlecht den xmltextwriter nehmen um die daten zu schreiben... was ich mir nur vorstellen kann, ist, dass ich die werte in das dataset-schema schreiben soll. aber mir ist nicht klar wie das dann aussehen soll... 🤔

hier komme ich echt nicht weiter und würde mich über ein wenig hilfe sehr freuen.

*Edit*

ich bin jetzt so weit, dass ich vom crystalreport aus das dataset ansprechen kann und auch die tabelle auf den report legen kann. wenn ich dann aber die anwendung starten will, soll ich server, tabelle, username und passwort angeben. hab ich aber nicht, ich hab ja nur dieses dataset... irgendwie stehe ich hier auf dem schlauch 🙁

*********

mfg
Afr0

Signatur:
Die Signatur wird unter Ihren Beiträgen dargestellt.

😁 😮 ?( 8) 😭 8o :] 🙁 =) X( 🙂 😜 😉 :rolleyes: 👶 :evil: 👅
Smilies find ich doof =]

A
Afrokalypse Themenstarter:in
452 Beiträge seit 2005
vor 18 Jahren

das problem mit dem anmelden habe ich behoben, indem ich für den report
this.cr1.SetDataSource(this.myDataSet); und
this.reportViewer.ReportSource = this.cr1; angegeben habe.

ich bin mir aber noch immer nicht sicher, wie ich die werte, die ich in meiner anwendung angebe, in den report bekomme....

*Edit*

bin mir noch nich sicher aber hab grad was in einem anderen thread gefunden...

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.

vllt ist das ja was ich suche. werde ich morgen mal ausprobiren muss jetzt nach hause 😉

Signatur:
Die Signatur wird unter Ihren Beiträgen dargestellt.

😁 😮 ?( 8) 😭 8o :] 🙁 =) X( 🙂 😜 😉 :rolleyes: 👶 :evil: 👅
Smilies find ich doof =]

D
155 Beiträge seit 2005
vor 18 Jahren

Also erstmal kannst du (leider) nur typisierte DataSets nehmen. Falls du es noch nicht weißt: Typisierte DataSets sind bereits vordefinierte DataSets, die du im Editor von VS festlegen kannst.

Dann kannst du die DataSource mit

[reportname].SetDataSource([datasetname])

A
Afrokalypse Themenstarter:in
452 Beiträge seit 2005
vor 18 Jahren

hallo druid
wenn du die datasets meinst die du per 'projekt > neues element hinzufügen > dataset'
meinst, genau das habe ich auch 😉 kann ich auch drauf zugreifen. mir ist halt nur noch nicht klar wie ich die daten ins dataset bekomme. ich werde jetzt gleich einfach mal werte in einer xml-datei abspeichern und sehen ob ich sie in das dataset bekomme.

Signatur:
Die Signatur wird unter Ihren Beiträgen dargestellt.

😁 😮 ?( 8) 😭 8o :] 🙁 =) X( 🙂 😜 😉 :rolleyes: 👶 :evil: 👅
Smilies find ich doof =]

A
Afrokalypse Themenstarter:in
452 Beiträge seit 2005
vor 18 Jahren

so ich habs nun hinbekommen.


this.werte = new object[3]{Convert.ToInt32(this.textBox1.Text),this.textBox2.Text,this.textBox3.Text};
		
DataRow myRow = eds.Tables["MeinEreignis"].NewRow();
myRow.ItemArray = this.werte;
eds.Tables[0].Rows.Add(myRow);			
this.cr1.SetDataSource(this.eds);
this.crystalReportViewer1.RefreshReport();

gefällt mir allerdings noch nicht so gut. gibt es eine feinere lösung daten in das dataset zu bringen? zB über eine xml-datei oder vllt ganz anders?

dann hab ich noch ein problem: der erste ewrt den ich speicher ist ein int. der report zeigt mir immer eine zahl mit Komma an also zB 12,00. wie kann ich nur 12 anzeigen lassen?

mfg
Afr0

Signatur:
Die Signatur wird unter Ihren Beiträgen dargestellt.

😁 😮 ?( 8) 😭 8o :] 🙁 =) X( 🙂 😜 😉 :rolleyes: 👶 :evil: 👅
Smilies find ich doof =]

L
667 Beiträge seit 2004
vor 18 Jahren

Die Daten können aus einer XML-Datei eingelesen werden mittels

meinDataSet.ReadXML(...)

Genauso kannst Du auch ein gefülltes Dataset in einer XML-Datei abspeichern mittels

meinDataSet.WriteXML(...)

"It is not wise to be wise" - Sun Tzu

D
155 Beiträge seit 2005
vor 18 Jahren

Vielleicht ganz anders?
Du kannst sogar Variablen nehmen, dass müsste alles abdecken
(sämtliche Formen von Dateien (txt, etc.), datenbanken, etc.)

D
18 Beiträge seit 2005
vor 18 Jahren

Hallo,

ich habe dein Programm bei mir reproduziert:
ich habe ein typisiertes Dataset erzeugt mit Entity "MeinErreigniss" und 1 int und 2 string
attributen

CrystalReport erzeugt die Tabelle und alle Spalten ausgewält

beim ausführen kriege ich so eine Exception:

Eine nicht behandelte Ausnahme des Typs 'CrystalDecisions.CrystalReports.Engine.InternalException' ist in crystaldecisions.crystalreports.engine.dll aufgetreten.

Zusätzliche Informationen: Der Bericht konnte nicht in den Manifestressourcen gefunden werden. Erstellen Sie das Projekt und wiederholen Sie den Vorgang.

Damit kann ich überhaupt nicht anfangen, was mache ich falsch 🤔

PS: wenn CrystalReport hinzufüge kommt immer ein Fenster mit der Registrierung, ich drücke auf "Später" daran kann es nicht liegen? oder?