Version 2.0.0.0
Version 2.0.0.0 was released on May 29th, 2007.
- Added a TryParse method to the Duration and
Period classes.
- Added a UtcDateTime property to BaseDateTimeProperty
to get or set the value as a date/time value expressed in Universal Time.
- Added the EWSoftware.PDI.Binding namespace that contains a generic
base collection class along with some supporting classes.
- All collections in the library now derive from a generic base class (Collection<T>
or ExtendedBindingList<T>). ExtendedBindingList<T>
is bindable and contains several utility methods for searching and sorting the collection using predicates.
- Fixed vCard 2.1 and vCalendar 1.0 properties so that they did not escape commas unnecessarily.
- Added a topic to the help file to clarify the various time formats used by the calendar objects
and how to work with them.
- Added a topic to the help file to describe the data binding capabilities of the
ExtendedBindingList<T> class.
- Updated the time zone information file used by the web demos to reflect recent changes in
Daylight Saving Time.
Changes in the PDI Object and Property Classes
- Child properties in FreeBusyProperty, ObservanceRule,
VAlarm, VCard, VEvent,
VFreeBusy, VJournal, VTimeZone, and
VToDo are now bindable as well. In order to bind to a child property, separate its name
from the parent property using an underscore (i.e. Name_SortableName,
Organization_Name, LastRevision_DateTimeValue,
TimeZoneId_Value). The demo applications contain examples. The child property binding
mechanism can be extended to other classes at runtime by adding their type to the description provider by passing
the type to the static ChildPropertyTypeDescriptionProvider.Add method.
- Breaking Change: The TimeZoneIdChangedEventHandler
delegate has been removed. Use the generic form EventHandler<TimeZoneIdChangedEventArgs>
instead.
- Breaking Change: The use of
System.Collections.Specialized.StringCollection has been replaced with the use of
EWSoftware.PDI.StringCollection which may cause some conflicts. Update any affected
code to use the new PDI library string collection class instead.
- The recurrence pattern control now renders a fully client-side DHTML implementation of the
recurrence pattern editor with no unnecessary post backs.
- Breaking Change: The RecurrencePattern.ShowTimePatterns
property has been replaced by the MaximumPattern property. This lets you specify a
RecurFrequency option that determines the maximum pattern type that will be editable.
- Breaking Change: The RecurrencePattern.SetFocus
method had been renamed Focus to match the .NET 2.0 method in the standard web controls.
- Breaking Change: The RecurrencePattern.ShowTimePatterns
and RecurrencePropertiesDlg.ShowTimePatterns properties have been replaced by the
MaximumPattern property. This lets you specify a RecurFrequency
option that determines the maximum pattern type that will be editable.
- Breaking Change: The BrowseControl has been
rewritten to utilize standard data binding using a BindingSource. This greatly
simplifies the code needed to edit collection items. If you currently make use of this control to edit the PDI
collections. See the demos for examples on how to use the updated browse control.
- The demos have been updated to make use of the new features available in the .NET 2.0 version
of the library. Much of the code related to sorting and binding has been eliminated and those operations have
been greatly simplified. The collections now contain built-in generic search and sort methods and they also
contain improved data binding support.