F: Gibt es eine Methode SaveToExcel zum Exportieren des Kalenders zu MS Excel oder Komma-Delimited Format?
A: Sie können den Terminplan als eine Komma-Delimited Textdatei exportieren, die Excel importieren kann. Es gibt auch den Excel Exporter, mit dem Sie Kalender nach Excel schnell und leicht exportieren können.
F: Was soll ich machen, um meine eigene Eigenschaft in der Methode SaveTo der Klasse Schedule zu speichern?
A: Zur Serialisierung Ihrer kundenspezifischen Items, registrieren Sie die Item-Klasse für Serialisierung durch Aufrufen von Schedule.RegisterItemClass. Überschreiben Sie (Override) die Methoden SaveTo und LoadFrom der Klasse Appointment und führen Sie die notwendige Serialisierung/Deserialisierung der kundenspezifischen Daten aus. Rufen Sie die Methoden der Basisklasse 'SaveTo' und 'LoadFrom' auf, und so kann die Appointment-Klasse ihre Standardeigenschaften serialisieren/deserialisieren. Im Tutorial #4 in der Dokumentation finden Sie ein Beispiel dafür.
F: Ist es möglich komplexe Datenverbindung zwischen Oracle oder MSSQL Datenbanken und Planner.NET zu realisieren?
A: Das Databinding ist nur in Planner.NET für .NET Framework 2.0 vorhanden. Planner.NET Databinding ist unabhängig von der Datenbank, weil es über .NET Daten-Sets ausgeführt wird. Allerdings soll der Nutzer wegen des unverbundenen Charakters dieser Daten-Sets dafür sorgen, dass die Tabellenschlüssel konsistent geschrieben werden, wenn die Daten von dem Dataset in die Datenbank übertragen werden.
F: 1) Ist es möglich, mehrere Appointments auf einmal zu speichern? Z.B. möchte ich 20 verschiedene Appointments in einer Ansicht speichern. 2) Kann man mithilfe der Methode SaveToDataSource die Daten in einer DB speichern?
A: Sie können die Methode SaveTo benutzen, um die Schedule-Daten in einer Datei auf der Festplatte oder in einem binären Stream oder in XML-Format zu speichern. Der Aufruf dieser Methode wird alle Schedule-Daten, einschließlich Appointments, Kontakte, Tasks, Resources, usw. speichern. Das Zurückladen der Daten kann über die Methode LoadFrom erfolgen. Die folgende Code-Zeile zeigt, wie die Schedule-Daten in XML-Format in einer Datei mit dem Namen 'd:\schedule.xml' gespeichert werden können. Es wurde angenommen, dass sich die Variable 'calendar' auf eine existierende Calendar-Instanz bezieht.
calendar.Schedule.SaveTo("d:\schedule.xml", MindFusion.Scheduling.ContentType.Xml)Wie Sie vorgeschlagen haben, kann man die Methode SaveToDataSource zur Serialisierung der Schedule-Daten in einer Datenbank anwenden. Dazu sollen Sie eine Datenquelle in Ihre Anwendung hinzufügen, und dann diese Datenquelle der DataSource-Eigenschaft des Calendar-Controls zuweisen. Sie sollen auch die zugehörigen Daten in die Datenquelle der entsprechenden DataMember-Eigenschaften in dem Calendar übertragen.
F: H Wie kann ich eine Zeitperiode drucken, wenn der Kalender eine Einzelmonatsübersicht darstellt?
Ich möchte automatisch alle Monate für einen gegebenen Start- und Enddatum drucken. Zurzeit kann ich nur den laufenden Monat drucken. Ich habe eine Routine erstellt, die eine gegebene Zeitperiode durchläuft und den Kalender auf jeden Monat verschiebt, und dann die Methode Calendar.Print startet. Das einzige Problem ist, dass das Druckdialog bei jeder Monatsänderung ausgeklappt wird, und die Druck-Methode gestartet wird.
A: Versuchen Sie, die 'void Print(PrintDocument doc) overloaded' Methode anzuwenden. Es wird kein Dialog angezeigt werden, aber nutzen Sie den Drucker, der in doc.PrinterSettings vorgegeben ist. Defaultmäßig ist das der voreingestellte Systemdrucker, aber Sie können ihn ändern, wenn Sie es wünschen.
F: Ich soll einen Bericht mit einer Struktur ähnlich wie die Resourcen-Ansicht drucken. Die Tage in einem Monat sollen in den Reihen, die Kontakte oder Ressourcen in den Spalten, und in jeder Zelle die Termine/Items angezeigt werden. Wie kann man dies tun?
A: Benutzen Sie die Methode Calendar.Print anstelle der Klasse Report, und Sie werden die Ressourcen-Ansicht ausgedruckt bekommen, genau wie Sie sie auf dem Bildschirm sehen.
F: Kann man in der MonthRange-Ansicht Montag als der erste Tag und Sonntag als der letzte Tag der Wochen darstellen?
A: Sie sollen entweder ein Datumformat über die Eigenschaft Calendar.Culture definieren, dessen erster Wochentag Montag ist, oder den ersten Wochentag über die Eigenschaft Calendar.DateTimeFormat unmittelbar einstellen, wie in dem folgenden Beispielcode gezeigt wird:
calendar.BeginInit(); calendar.DateTimeFormat.FirstDayOfWeek = DayOfWeek.Monday; calendar.EndInit();Sie können diese Änderung auch zur Entwurfszeit im Eigenschaftenfenster ausführen.