Laden...
I
Ishildur myCSharp.de - Member
Programmierer Schweiz Dabei seit 15.09.2005
Benutzerbeschreibung

Forenbeiträge von Ishildur Ingesamt 431 Beiträge

17.10.2008 - 13:51 Uhr

Hallo zusammen
Ich schreibe gerade ein Plugin, welches unter Anderem die Daten von Shapes auslesen muss. Konkret will ich beispielsweise die Daten eines Class - Objekts eines UML - Diagramms analysieren. Leider bringe ich es nicht fertig, die Attribute sowie Operationen eines Class - Objekts auszulesen. Wenn ich Visio starte, kann ich die entsprechenden Daten auch nirgends im ShapeSheet finden??? Wo sind denn diese Daten gespeichert?

Mfg Ishildur

17.10.2008 - 11:59 Uhr

@gruenefeder
Wow, das hat gerult! Nun funktioniert es, aber ich habe keine Ahnung, aus welchem Grund. Kannst du mir kurz die Funktionalität des Tag - Properties in diesem Kontext erklären?

16.10.2008 - 14:55 Uhr

Hallo zusammen
Ich schreibe gerade ein Visio 2007 Add-In und habe folgendes Problem: Ich füge im Zusammenhang mit der Interaktion mit dem Benutzer eine zusätzliche CommandBar mit einem Button hinzu:

private void ThisAddIn_Startup(object sender,System.EventArgs e){ 
   // determine the visio - application, the main - menu bar and the number of menu - items 
   Visio.Application  appVso = Globals.ThisAddIn.Application; 
   Office.CommandBars cbsCmd = (CommandBars)appVso.CommandBars; 

   // define some oftenly used datatypes 
   MsoBarPosition posTop = MsoBarPosition.msoBarTop; 
   MsoControlType typBtn = MsoControlType.msoControlButton; 
   object         nil    = Type.Missing; 

   // create a new command - bar for the interaction with the user 
   CommandBar cmbUml = (CommandBar)cbsCmd.Add("Fancy - UML", posTop,nil,true); 
    
   // create a new button for creating a fancy - UML diagram 
   CommandBarButton cbbGen = (CommandBarButton)cmbUml.Controls.Add(typBtn,nil,nil,nil,true); 
   cbbGen.Caption = "Fancy - UML"; 
   cbbGen.Style = MsoButtonStyle.msoButtonCaption; 
   cbbGen.Click += new _CommandBarButtonEvents_ClickEventHandler(btnGen_Click); 

   // finally visible the command - bar 
   cmbUml.Visible = true; 
}   

Beim Starten des Add-Ins funktioniert noch alles wie erwartet, doch sobald ich ein neues Dokument generiere wird kein Event mehr auslöst, wenn ich auf den Button klicke...

Hat vielleicht jemand von euch bereits einmal ähnliche Probleme gehabt?

Gruss Ishlidur

25.08.2006 - 10:57 Uhr

Hallo zusammen
Gibt es irgendeinen Event, welcher immer dann aufgerufen wird, wenn sich ein Wert in der internen Liste des Bindingsource ändert? Ich habe folgendes Problem:

Ich muss immer dann, wenn ein Wert aus einer Combobox ausgewählt wird, einen Wert aus der nun selektierten DataRowView in eine TextBox schreiben. Das Problem ist nun, dass alle Events wie SelectedIndexChanged, SelectedValueChanged oder SelectionChangeCommited aufgerufen werden, bevor die neuen Daten über das BindingSource in die DataTable geschrieben werden. Also muss ich einen Event haben, der erst nachträglich aufgerufen wird.

Lg Ishildur

22.08.2006 - 22:26 Uhr

Hallo zusammen, gibt es irgendeine Möglichkeit, das Feld, welches zur Groupierung verwendet wird, zur Laufzeit festzulegen?

22.08.2006 - 13:24 Uhr

Hallo zusammen
Ich habe folgende Situation: Ich habe ein DateTimePicker, welche auf den Event ValueChanged reagiert, in welchem der Wert in die Datenbank geschrieben wird. Bitte kommt nicht mit DataBindings, die funktionieren in diesem Fall nicht!
Wie dem auch sei, das Problem ist nun, dass dieser Event natürlich auch ausgelöst wird, wenn Daten von der Datenbank in den DateTimePicker fliessen, was dazu führt, dass jener Wert immer gleich wieder zurückgeschrieben wird.

Meine Frage ist nun, ob es eine Möglichkeit gäbe, Events für einen gewissen Zeitraumn zu unterdrücken, ähnlich wie SuspendLayout()

Lg Ishildur

22.08.2006 - 12:07 Uhr

Hallo zusammen
Wenn ich im CrystalreportViewer auf den Print Knopf klicke, passiert einfach gar nichts, hat da jemand eine Idee, warum das so ist? Ich kann mir erinnern, dass das mal einwandfrei funktioniert, gibts da möglicherweise irgendeine Einstellung? Habe selbst leider keine gefunden!

Gruss Ishildur

22.08.2006 - 09:02 Uhr

Das komplette Query sieht dann folgendermassen aus:


   // define the general select - command
   String strCmd  = "SELECT Person_ID,Title,PersonalName,FamilyName,Adress,Zip,Place,";
   strCmd += "Country.Name AS Country,(SELECT TOP 1 Content FROM Contact WHERE ";
   strCmd += "Contact.Person_ID = Person.Person_ID AND Media = 0) AS Contact FROM Person ";
   strCmd += "LEFT JOIN Country ON Person.Country_ID = Country.Country_ID";
   this.SelectCommand.CommandText = strCmd;

22.08.2006 - 08:53 Uhr

@Alle

Ich habe die Lösung nun selbst gefunden, möchte mich nun aber vergewissern, dass der Befehl korrekt ist, da ich wie gesagt nicht so ein GURU bin:

select PersonalName,FamilyName,Adress,(select Top 1 Content from Contact where Contact.Person_ID = Person.Person_ID) AS Kontakt from Person;

22.08.2006 - 08:50 Uhr

Hallo Fabian
Genau dies möchte ich machen, allerdings nicht ganz genau so! Ich möchte dem Benutzer einige Optionen geben, und schliesslich den richtigen Report auswählen und parametrisieren. Allerdings möchte ich die Reporte als <embedded Resource> in der Assembly haben. Allerdings habe ich keinen Weg gefunden, der ReportDocument.Load Methode vorzugaukeln. Und soviel ich weis, kann ReportDocument nicht aus einem Stream laden...

Was ich wiederum sehr sehr unatraktiv finde!

22.08.2006 - 08:16 Uhr

Ich habe den Fehler gefunden aber das ist wirklich verschissen. Der Fehler passiert, wenn sich die *.rpt Dateien nicht im Standardverzeichnis befinden. Also direkt unter dem Projektordner. Ich habe alle Reports in einen Ordner namens Reports verschoben und nichts klappt mehr...
Finde ich schon echt krass.
Es währe mir aber sowieso lieber, die *.RPT Datein als <embedded Resource> einzubinden und mit der ReportDocument.Load Methode dynamisch laden, nur kann mir ja leider niemand sagen, wie das geht...

22.08.2006 - 00:44 Uhr

Ach so, OK
Naja, ich verwende keine Stored Procedures, weil die Applikation unter Umständen auch unter anderen Datenbanken wie mySQL laufen muss, welche keine SP's unterstützen oder Firebird, welche eine stark andere Synthax aufweisen.

Gehts denn auch ohne SP's ? Ist egal, wenn das Query etwas komplizierter wird.
Wie beispielsweise das Query für die Purchase Table...


// define the select - command
   String strCmd = "SELECT SessionProduct_ID,Ses.Session_ID AS Session_ID,Prd.Name AS Product,";
   strCmd += "Cat.Name AS Category,Man.Name as Manufacturer,CAST(Spr.Price AS VARCHAR)+' sFr.'";
   strCmd += "AS Price,Prd.Quantity AS Quantity,Prd.QuantityType AS QuantityType, ";
   strCmd += "Emp.Name AS Employee,Ses.SessionDate AS SessionDate,Prs.PersonalName+' '+";
   strCmd += "Prs.FamilyName AS Person FROM SessionProduct AS Spr ";
   strCmd += "LEFT JOIN Product AS Prd ON Spr.Product_ID = Prd.Product_ID ";
   strCmd += "LEFT JOIN Category AS Cat ON Prd.Category_ID = Cat.Category_ID ";
   strCmd += "LEFT JOIN Manufacturer AS Man ON Prd.Manufacturer_ID = Man.Manufacturer_ID ";
   strCmd += "LEFT JOIN Employee AS Emp ON Spr.Employee_ID = Emp.Employee_ID ";
   strCmd += "RIGHT JOIN Session AS Ses ON Spr.Session_ID = Ses.Session_ID ";
   strCmd += "RIGHT JOIN Person AS Prs ON Ses.Person_ID = Prs.Person_ID";
   this.SelectCommand.CommandText = strCmd;

22.08.2006 - 00:02 Uhr

SP ?(

21.08.2006 - 23:50 Uhr

@Ikaros
Ja, das ist mir alles schon klar. Aber die eigentliche Frage war, ob man diese Abfrage in einem TSQL - Query machen kann?

21.08.2006 - 23:22 Uhr

Aber wir schweifen ab...

21.08.2006 - 23:21 Uhr

Diese werden in einem weiteren DataGridView angezeigt...

21.08.2006 - 23:15 Uhr

Naja, im Grid soll nur einer angezeigt werden. Wenn man dann auf die Zeile Doppelklickt, erscheinen dann schon alle! 😁

21.08.2006 - 23:11 Uhr

Das verstehe ich jetzt irgendwie nicht so...
Naja, bin nicht gerade der SQL - GURU

Vielleicht habe ich mich etwas falsch ausgedrückt:
Ich habe bspw. 10 Personen, welchen je 5 Kontakte zugeordnet sind. Also insgesammt 50 Kontakte. Nun möchte ich, dass 10 Zeilen mit je einem der Kontakte ausgelistet wird. Dabei soll auch jeweils der erste zugehörige Kontakt ausgedruckt werden.

21.08.2006 - 22:41 Uhr

Hallo zusammen
Ich habe folgende an sich sehr einfach Situation:
Ich habe eine Master (Person) und eine Detail (Contact) Tabelle

Nun möchte ich ein Select auf die Mastertabelle anwenden und dabei noch ein Feld des ersten zugehörigen Datensatz aus der Child in der Masterrow einfügen.

Bsp.

Person:
1 Hofer Verena
2 Gerber Andrea

Contact:
1 1 033 / 655 00 89
2 1 034 / 345 89 32
3 2 089 / 234 34 56
4 2 078 / 233 45 34

Ergebnis:
Hofer Verena 033 / 655 00 89
Gerber Andrea 089 / 234 34 56

Wie muss dann dass Select Statement aussehen?

21.08.2006 - 16:55 Uhr

Hallo zusammen
Ich habe nun (beinahe) alle Probleme bezüglich des CrystalReports gelöst! Aber wie gesagt. beinahe!

Irgendwie bekomme ich es nicht hin, ein <Embedded Resource> als Report manuell zu laden...

Wie mache ich denn dass?

Lg Ishildur

21.08.2006 - 13:35 Uhr

Tja, da hast du Recht!

21.08.2006 - 12:45 Uhr

@Fabian
Ich habe den Fehler nun gefunden. Ich hatte in den Projekteinstellungen des SetupProjekts das TargetSystem Property vergessen auf x64 zu stellen. Habe dieses Property noch nie benutzt und einfach angenommen, dass das VisualStudio automatisch eine 64 - Bit Applikation erstellt, wenn ich schon x64 Merged Modul einfüge...

21.08.2006 - 12:43 Uhr

Schade für den Entwickler der nicht weiß das OpenOffice .doc Dokumente relativ problemlos öffnen kann.

Das war ja auch nur ein Beispiel, wenn auch zugegeben ein sehr schlechtes! 😉

21.08.2006 - 11:56 Uhr

Nur so ein Hinweis am Rande
Die mitgelieferte Anleitung ist eine *.doc Datei, welche nur mit Microsoft Word gelesen werden kann...
Schade für alle diejenigen Entwickler, welche nicht MS Word, sondern vielleicht OpenOffice benutzen...

21.08.2006 - 11:53 Uhr

Hallo Fabian, genau das hatte ich schon heute morgen um 08:30 gemacht und seither etliche Male wiederholt, nur leider funktioniert es nicht, ich bekomme immernoch dieselbe Fehlermeldung...

21.08.2006 - 11:46 Uhr

OK, sachlicher Post:

Ich gehe auf Datei -> Neu -> Projekt -> Visual C# -> Windows -> Crystal Reports Anwendung -> OK

Danach drücke ich F5 und bekomme folgenden Fehler:

Fehler beim Laden der Crystal Reports-Laufzeitkomponenten.
Entweder ist ihr Crystal Reports-Registrierungsschlüssel unzureichend oder die Crystal Reports - Laufzeitkomponenten wurden nicht ordungsgemäss installiert.

Dieser Fehler passiert nur auf einem x64 System! Auf einem x86 System läuft alles einwandfrei, woraus ich schliesse, das die Installationsroutine von VS2005 die falschen Runtimes installierte. Meine konkrete Frage ist nun, wie komme ich an die korrekten Runtimes? Ich kann zwar die Runtimes von Crystel Reports 9 herunterladen, aber dann will das Teil eine Seriennummer, welche ich natürlich nicht habe.

Ich kann auch die CrystalReports Runtimes für Visual Studion 2005 herunterladen, allerdings habe ich dann nur eine MSM Datei, mit welcher ich nichts anfangen kann.

Ich habe schliesslich ein MSI Projekt gemacht, die MSM Datei gemappt, das Paket installiert, nur leider funktioniert es trotzdem nicht!

21.08.2006 - 11:23 Uhr

Es ist übrigens jetzt 11:30 gleicher Stand!
Ich werde also bis mindestens um 20:30 arbeiten müssen

21.08.2006 - 11:02 Uhr

Ja schon, unter der Nummer +49 700 26 25 32 87
Allerdings hatte die Frau am Apparat nicht wirklich Ahnung, da Sie vom Verkauf war und eine Abteilung für technische Frage gibts nur in den USA. Und mit Auslands support Nummern habe ich so meine Erfahrungen: bspw. mit .NET Magic! Am Ende des Monats fragte mich der Chef dann, wieso ich über eine Stunde in die USA telefonierte! Gebracht hatte es leider überhaupt nichts!

21.08.2006 - 10:54 Uhr

@Noodless
Appropos:
Die Smilies sehen doch cool aus? 😁

21.08.2006 - 10:49 Uhr

Wenn alles so schlecht, solltest Du vlt. über eine andere Berufswahl nachdenken, mit weniger Aufregung. Ist gesünder!

Es ist nicht alles so schlecht, mit Visual C++ 6.0 hatte ich bspw. niemals Probleme, doch seit ich in .NET arbeite stolpere ich einfach von einem Bug über den nächsten!
Ich finde es ziemlich respektlos von dir, meine Qualifikationen als Entwickler aufgrund meiner Differenzen mit .NET & Co. in Frage zu stellen! Und ein Mechanicker würde auch nicht den Beruf wechseln, nur weil er feststellt, dass ein Chef Schrottwerkzeug erworben hat.
Ich hatte bspw. vorher ein Jahr in einer anderen Firma mit dem ReportBuilder und danach ein halbes Jahr mit List & Labels entwickelt und einfach keine solchen Probleme gehabt!

Wenn ich dann Frage höre wie, "Wieso entwickelst du dann mit .NET, Nanana...?"
Dann kann ich dazu nur sagen, dass jemand, der solche Fragen stellt, nur als Hobby Programme schreibt und nicht als Beruf. Denn ein Berufsprogrammierer wüsste ganz genau, dass man sehr oft die Entwicklungsumgebung nicht einfach auswählen kann, weil man bspw. auf bestehende Lizenzen Rücksicht nehmen muss oder weil das Projekt möglicherweise bereits mit einer bestimmten Technologie begonnen wurde.

P.S. Vielleicht wäre auch der Support des Hertsellers keine schlechte Anlaufadresse!?

Das habe ich bereits letzten Freitag getan, habe aber leider bis jetzt keine Antwort bekommen. Habe auch in diversen Foren gelesen, dass Business Objects einfach generell nicht antwortet...

21.08.2006 - 10:32 Uhr

@Noodless
Ich versuche nur darauf aufmerksam zu machen, wie viel Zeit man mit Softwarekomponenten vergeudet, für welche man immerhin eine Menge Geld bezahlt hat. Es ist übrigens jetzt 10:30 und ich bin immer noch genau gleich weit! Weisst du, was das bedeutet? Ich werde heute Abend nicht um 17:00 Uhr Feierabend haben, wie jeder andere Menschen, sondern frühestens um 19:30 Uhr, weil ich diese Zeit nacharbeiten muss, in welcher ich nichts mache, ausser im Internet zu Surfen und Foren zu durchsuchen. Eingentlich müsste ich MS für diese Zeit eine Rechnung schicken!!!

P.S.
Danke für den Hinweis, wegen den Smillis und so!
Ähhhemmm, eine konstruktive Kritik bereitet dir keine Mühen, das hast du bewiesen! Fällt die einen konstruktiven Lösungsvorschlag ebenso leicht?

21.08.2006 - 10:10 Uhr

P.S.
Es ist nun 10:10 Uhr
Bin immer noch dabei, Crystal Reports auf dem x64 System zu installieren, auf welcher VS2005 installiert ist.

Ach ja, CrystalReports funktioniert auch auf keinem Rechner, auf welchem VS2005 nicht installiert ist. Und leider kann man nirgends die Redistributables finden...

21.08.2006 - 09:19 Uhr

So, nun habe ich die Redistributables gefunden, entpackt und was passiert nun?
Eine Seriennummer? 8o 8o 8o
Seit wann benötigt man für eine Redistributable eine verdammte SERIENNUMMER???????

Was soll denn das jetzt, ich glaub ich krieg hier gleich einen Anfall!!!!!!!

P.S.
Es ist nun 09:20 Uhr
Immer noch nichts am Projekt gearbeitet...

21.08.2006 - 09:11 Uhr

Hallo zusammen
Ich hoffe, ihr habt einen wunderschönen guten Morgen, denn meiner ist schon mal versaut!! 😜

Im Geschäft arbeite ich mit ein x64 System und o Wunder, CrystalReports funktioniert selbstverständlich nicht mehr, da anscheinend nicht die korrekten Runtimes installiert sind! Schade Microsoft! Schade!!!! Ich weiss, dass die Crystal Reports von Business Objects stammen, aber es war die Installationsroutine vom VS2005, welches mir die falschen Runtimes aufs System knallte! 8o

OK, dachte ich mir! Laden wir halt bei www.businessobjects.com/support die korrekten Runtimes herunter. Doch was bekomme ich eine verdammte *.msm Datei zum hinzufügen in eine *.msi Datei.

OK, dachte ich mir! Habe ich wohl die falsche Datei erwischt und gehe also zurück auf die Website und schaue noch einmal genauer: O Wunder, es gibt nur die *.msm Datein... 😜 😜 😜

Hat jemand von euch eine Idee, wo ich eine nicht *.msm Datei mit den Runtimes für x64 bekommen kann ? MÖGLICHERWEISE ????

Gruss Ishildur

P.S.
Ich kam um 08:00 ins Geschäft, jetzt ist es genau 09:10 und ich habe noch überhaupt nichts gearbeitet...

Wieso kann MS nicht ein rennomiertes Reporting Tool wie bspw. List & Labels lizensieren, aber ach nein, dass würde ja den Leuten wirklich was bringen, ach kommt, lasst uns CrystalReports lizensieren...

20.08.2006 - 17:51 Uhr

Hallo zusammen
Ich habe nun einen CrystalReport erstellt, habe ein Formular mit einem CrystalReportViewer und wollte diesem den CrystalReport zuweisen und dann kam folgender Fehler:

Unable to find the report in the manifest resource. Please build project, and try again.

Was soll denn das jetzt?

Lg Ishildur

20.08.2006 - 13:04 Uhr

Ein weiteres Problem habe ich mir der Tatsache, dass man scheinbar Charts zwar ausdrucken, jedoch nicht als Control in einem Formular darstellen kann...

20.08.2006 - 12:52 Uhr

Ich habe da noch eine Frage, die mich gerade beschäftigt.
Gibt es keine Möglichkeit, im Designer Felder zu setzten, auch wenn ich keine Datenbankverbindung habe? Es könnte doch sein, dass ich mal Zuhause arbeiten möchte, wo ich keine Verbindung mit dem Datenbankserver habe. Also ich habe mir das so vorgestellt. Dass ich einfach ein Feld erzeuge und in dessen Eigenschaften dann festlegen, welcher Spaltenname dafür verwendet werden soll. Es kann doch echt nicht sein, dass man nur bei einer aktiven Datenbankverbingung einen neuen Report erstellen kann, was soll denn dass? 8o

20.08.2006 - 12:48 Uhr

Die komplette Definition eines Reports steckt in dieser Datei

Das habe ich mir schon gedacht. Um nochmal zu meiner ursprünglichen Frage zurückzukehren: Es gibt also keine Möglichkeit, einen solchen Report zur Laufzeit im Code zu erstellen? Gibt es möglicherweise ein anderes Reporting - Tool, welches dazu in der Lage ist?

P.S.
Ich habe nun übrigens eine solche *.rpt Datei und kann Sie mit Hilfe ReportDocumnet.Load auch laden, nur zeigt es mir anschliessend keine Daten an, woran kann das liegen?


public FRM_Report(String Report,DataTable Table) {
   this.InitializeComponent();

   this.repDoc.Load(Report);
   this.repDoc.SetDataSource(Table);
  }

20.08.2006 - 12:21 Uhr

OK, aber die Datenbankverbindung wird auch nicht in der *.exe Datei gespeichert, hoffe ich doch ?!

20.08.2006 - 11:26 Uhr

Hallo Rainbird

Es gibt da ja:

  • Database Fields
  • Formula Fields
  • Parameter Fields
  • Group Name Fields
  • Running Total Fields
  • Special Fields
  • Unbound Fields

Das Problem ist nun, dass ich keine Database Fields einfügen kann, da der ja nur eine Datenbankverbindung oder typisierte DataSets als Datenquelle akzeptiert.

Muss ich einen anderen Feldtyp verwenden, und wenn ja welchen? Ich habe eine Vielzahl von untypisierten DataSets in meiner Applikation. Diese kann ich ja einfach zur Laufzeit mit Report.SetDataSource(DataSet Data) zuweisen, nur kann ich eben einfach den Report nicht designen, verstehst du, was ich meine?

Lg Ishildur

20.08.2006 - 08:59 Uhr

So an die 30ig!
Das Problem ist, dass ich so an die 30ig DataGridViews habe, dessen Inhalt ich drucken möchte. Nun möchte ich aber nicht 30ig Reports erstellen müssen. Zudem können gewisse Spalten ausgeblendet werden, und in diesem Fall sollen diese auch nicht gedruckt werden. Dazu kommt das Problem, dass ich nur Untyped DataSets verwende...

19.08.2006 - 20:25 Uhr

Hallo ich bins nochmal
Also ich muss diesen CrystalReport zur Laufzeit dynamisch erstellen können. Dies liegt daran, dass ich zur Entwicklungszeit noch gar nicht wissen kann, welche Tabelle und welche Spalten verwendet werden. Doch wie mache ich das? Sagt mir jetzt bitte nicht, dass dies nicht möglich ist!!! 8o

19.08.2006 - 17:47 Uhr

Ich habe in meinem Programm alles Untypisierte DataSets. Wie kann ich nun in CrystelReports Datenbankfelder einfügen?

19.08.2006 - 13:13 Uhr

Hallo zusammen
Mein Projekt neigt sich dem Ende zu und nun geht es eigentlich nur noch darum, die Reports zu erstellen, was ich allerdings in C# noch nie gemacht habe! Also als erstes ist mir aufgefallen, dass es in VS05 Prof. offenbar Reports sowie Crystal Reports gibt. Kennt da jemand die konkreten Unterschiede? Also was mir aufgefallen ist, ist, dass CrystalReports schön zwischen ReportHeader, PageHeader, Datenbereich, PageFooter und ReportFooter unterscheidet, was ich als sehr sinnvoll und nützlich erachte. Ein Report scheint da nicht zu unterschieden. Auf der Anderen Seite habe ich in CrystalReports noch keine Möglichkeit gefunden, Diagramme einzufügen, was wiederum im Report nicht möglich zu sein scheint, oder zumindest habe ich noch nicht herausgefunden, wie!

Kann mir jemand zusammenfassend die Unterschiede zwischen den beiden Varianten CrystalReport und Report nennen. Es gibt ja dann auch einen ReportViewer und einen CrystalReportViewer.

Kann mir auch jemand sagen, ob und wie ich grafische Diagramme in CrystalReports einfügen kann?

Mit der Datenbankanbindung habe ich auch so meine kleinen Schwierigkeiten:

Es ist erforderlich, dass ich ein BindingSource als Datenquelle der CrystalReporte bzw. Reporte definiere. Wie realisiere ich dies?

Auf rasche Antworten würde ich mich extrem freuen. Das Projekt muss bis am 23. August 12:00 Uhr beendet sein, darum habe ich nicht mehr die Zeit, stundenlang das Internet zu durchsuchen und wenn ich die Begriffe CrystalReport google kommt leider meisst nur Schrott...

Lg Ishildur

18.08.2006 - 12:48 Uhr

OK, aber was muss ich denn machen, wenn ich auf einzelne Members eines UserTypes zurückgreiben möchte?

18.08.2006 - 12:12 Uhr

Ich frage mich auch, ob man nicht einfach besser ein Klasse nehmen würde, dann hätte man die ganzen Probleme nicht, oder wie siehst du das?

18.08.2006 - 12:11 Uhr

Huch, was es nicht alles gibt, was ich noch nicht kenne!
Nun habe ich aber folgendes Problem, ich verstehe wohl irgendetwas nicht richtig, aber ist <Typ>? nicht ein Synonym für Nullable<Typ> ?

Ich habs nun so gemacht:


// setup the InputError
InputError? err = new InputError?();
err.Value.Control = itm.Control;
err.Value.Text     = "Bitte wählen Sie einen Wert aus der DropDown - Liste aus!";

Wieso funktioniert dass den nicht?

Fehler:

Cannot modify the return value of 'System.Nullable<TopHair.InputError>.Value' because it is not a variable

18.08.2006 - 11:20 Uhr

Hallo zusammen
Ich habe einige Fragen zu ValueTypes. Ich habe das Problem, dass ValueTypes ja nicht null sein können. Das .NET Framework hat dieses Problem so gelöst, dass es eine Statisce Eigenschaft Empty hat. Ich frage mich nun, wie die das implementiert haben. Kommt das so etwa hin?


// ************************************ struct InputError ************************************
 struct InputError {
  // ------------------------------------ dynamic - members -----------------------------------
  public Control Control; // the control to wich this error belongs
  public String  Text;    // the error - text
  // ------------------------------------------------------------------------------------------

  // ---------------------------------- custom - constructor ----------------------------------
  public InputError(Control Control,String Text) {
   // copy the parametric values
   this.Control = Control;
   this.Text    = Text;
  }
  // ------------------------------------------------------------------------------------------

  // --------------------------------- operator - method "==" ---------------------------------
  public static bool operator==(InputError Error1,InputError Error2){
   // return wether all members contain the same - value
   return Error1.Control == Error2.Control && Error1.Text == Error2.Text;
  }
  // ------------------------------------------------------------------------------------------

  // --------------------------------- operator - method "!=" ---------------------------------
  public static bool operator!=(InputError Error1,InputError Error2) {
   // return wether all members contain the same - value
   return Error1.Control != Error2.Control && Error1.Text != Error2.Text;
  }
  // ------------------------------------------------------------------------------------------

  // ------------------------ property method for the property "Empty" ------------------------
  public static InputError Empty {
   // define the get - statement
   get { return new InputError(); }
  }
  // ------------------------------------------------------------------------------------------
 }
 // *******************************************************************************************

Es kommt folgende Warnung:
defines operator == or operator != but does not override Object.Equals(object o)

16.08.2006 - 14:24 Uhr

ValueChanged wird wohl schon nur aufgerufen, wenn sich der Wert geändert hat, aber es gibt eben mehr Arten den Wert zu ändern, als auf die CheckBox zu klicken.

Ja, das Problem ist eben, ich habe eine Klasse von DateTimePicker abgeleitet um folgendes zu erreichen. Wenn die Checkbox nicht angeklickt ist, dann soll der Wert DBNull in die Datenbank geschrieben werden. Ich hatte also den Event ValueChanged abgefangen, um in diesem Moment den Wert ins BindingSource zu kopieren. Nun ist es aber so, dass der Event ja auch beim Laden des zugehörigen Formulars aufgerufen wird und so der Wert des BindingSource sofort überschrieben wrid.