2008-11-27 Marek Habersack <mhabersack@novell.com>
[mono.git] / mcs / class / System.Web.Extensions / System.Web.UI.WebControls / ChangeLog
index b146ff7342df4d2d1ab742950abb8ee74ac193a6..ee7fb399cfcfc86634b84d55c8ce9082743aefd2 100644 (file)
@@ -1,3 +1,207 @@
+2008-11-27  Marek Habersack  <mhabersack@novell.com>
+
+       * ListView.cs: fixes in DoUpdate and DoDelete - check must be made
+       that the requested item index is _smaller_ than the number of
+       keys, not _bigger_.
+       Enable using the lambda expression in CreateItemsInGroups - the
+       gmcs bug preventing that was fixed.
+
+2008-11-20  Marek Habersack  <mhabersack@novell.com>
+
+       * ListView.cs: implemented the EditItem property.
+       Use ConvertEmptyStringToNull in ExtractItemValues.
+
+2008-11-19  Marek Habersack  <mhabersack@novell.com>
+
+       * ListView.cs: added paremeter checks to AddControlToContainer.
+       CreateInsertItem must instantiate the template and call raise the
+       ItemCreated event.
+       Added parameter checks to FindPlaceholder
+
+2008-11-18  Marek Habersack  <mhabersack@novell.com>
+
+       * ListViewContainer.cs: added
+
+       * ListView.cs: implemented grouping support. With this ListView is
+       feature complete.
+       Refactored grouped/non-grouped rendering common code into separate
+       methods.
+       FindPlaceholder now looks for the placeholder recursively.
+       Implemented forgotten UpdateItem method.
+       Align group with empty items if there are no more data items.
+       Each group is contained within ListViewContainer.
+
+       * ListViewTableCell.cs: added
+
+2008-11-15  Marek Habersack  <mhabersack@novell.com>
+
+       * ListViewInsertEventArgs.cs: implemented the Values property.
+
+       * ListView.cs: CreateChildControls uses the Items collection to
+       store the created items.
+       InsertNewItem triggers page validation if necessary.
+       Part of InsertNewItem code refactored to DoInsert.
+       Implemented handling of the Insert and Select commands.
+
+       * TemplatePagerField.cs: implemented all the code.
+
+       * DataPager.cs: CreatePagerFields now adds the new pager field
+       control before creating data pagers in it and before binding to
+       data. This avoids situation in which the field is parentless.
+       FindPageableItemContainer now properly finds the container if it's
+       placed directly in the Page.
+       {Load,Save}ViewState don't use a Pair anymore, object array is
+       used for compatibility with MS.NET
+
+       * NumericPagerField.cs, NextPreviousPagerField.cs,
+       DataPagerFieldCommandEventArgs.cs: minor refactoring
+
+       * ListViewSelectEventArgs.cs: implemented all the code.
+
+       * ListViewInsertedEventArgs.cs: Values allocates the dictionary on
+       demand now.
+       Initialize all the properties in constructor
+
+       * DataPagerCommandEventArgs.cs: added
+
+       * DataPagerField.cs: implemented IsTrackingViewState
+
+       * DataPagerFieldItem.cs: implements the INonBindingContainer
+       interface.
+
+2008-11-13  Marek Habersack  <mhabersack@novell.com>
+
+       * ListView.cs: implemented support for Edit, Update and Delete.
+       Implemented ExtractItemValues.
+
+       * ListViewDataItem.cs, ListViewItem.cs: implemented OnBubbleEvent.
+
+       * ListViewDeletedEventArgs.cs, ListViewUpdateEventArgs.cs,
+       ListViewEditEventArgs.cs, ListViewCancelEventArgs.cs,
+       ListViewDeleteEventArgs.cs, ListViewUpdatedEventArgs.cs:
+       implemented all the properties and methods.
+
+       * HelperExtensions.cs: added
+
+2008-11-06  Marek Habersack  <mhabersack@novell.com>
+
+       * ListView.cs: implemented the sorting capability.
+
+       * ListViewSortEventArgs.cs: implemented all the methods and
+       properties. 
+
+2008-11-01  Marek Habersack  <mhabersack@novell.com>
+
+       * ListView.cs: do not instantiate the layout template more than
+       necessary.
+
+       * NextPreviousPagerField.cs: moved some common code to the base
+       class (the GetQueryModeStartRowIndex method)
+
+       * DataPager.cs: do not call SetPageProperties more than
+       necessary.
+
+       * NumericPagerField.cs: implemented
+
+       * DataPagerField.cs: added a helper method,
+       GetQueryModeStartRowIndex, to be used by all the concrete
+       implementations to calculate the starting row index in the query
+       mode.
+
+2008-10-31  Marek Habersack  <mhabersack@novell.com>
+
+       * ListView.cs: use StartRowIndex and MaximumRows properties when
+       calculating the total row count server paging case and when
+       assigning to corresponding properties of the paged data source.
+
+2008-10-30  Marek Habersack  <mhabersack@novell.com>
+
+       * DataPagerFieldCollection.cs: implemented most of the methods and
+       properties, so that using the DataPager is possible now.
+
+       * PagePropertiesChangingEventArgs.cs: implemented all the methods
+       and properties.
+
+       * ListView.cs: {Save,Load}ControlState now uses constants to index
+       state arrays. Total row count is stored in the control state.
+       CreateChildControls () now uses dummy data to initialize child
+       controls if no items were found after postback.
+       CreateChildControls (IEnumerable, bool) now properly calculates
+       total row count, calls OnTotalRowCountAvailable after creating the
+       child controls and returns the total row count instead of the
+       number of created child controls. This makes pager work
+       correctly.
+       Implemented SetPageProperties () to support paging.
+
+       * NextPreviousPagerField.cs: Correctly order the Next/Previous
+       buttons.
+       When creating buttons, cast the new control properly before
+       assigning properties.
+
+       * TemplatePagerField.cs: added (stub)
+
+       * DataPager.cs: added missing class attributes (ParseChildren,
+       PersistChildren and SupportsEventValidation).
+       {Save,Load}ControlState now use constants to index the state
+       arrays.
+       Properly implemented FindPageableItemContainer - it now looks for
+       the container up the parenthood chain, querying all the naming
+       containers for the named control.
+       SetUpForNewContainer now accepts an additional parameter, so that
+       the SetPageProperties method is called on the container whenever
+       necessary.
+
+       * NumericPagerField.cs: implemented the CreateField method.
+
+       * ListViewPagedDataSource.cs: implemented data source
+       enumerators.
+
+       * DataPagerFieldItem.cs: implemented all the methods and properties.
+
+2008-10-21  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * LinqDataSource.cs : set ContextTypeName too when ContextType is set.
+
+2008-10-09  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * LinqDataSource.cs : implement ContextType/ContextTypeName.
+       * LinqDataSourceView.cs : some ExecuteSelect() implementation.
+         Cache type members which are from reflection.
+
+2008-10-08  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * LinqDataSource.cs, LinqDataSourceView.cs :
+         some more implementation.
+
+2008-09-30  Marek Habersack  <mhabersack@novell.com>
+
+       * ListView.cs: implemented all the events.
+       CreateChildControls works with non-ICollection data sources now.
+       CreateItemsWithoutGroups now counts items placed in the container
+       and stores the container in a field, so that RemoveItems can
+       properly delete the child controls.
+       Implemented the RemoveItems method.
+       Implemented Load/SaveControlState.
+       Implemented LoadViewState.
+       Implemented OnBubbleEvent.
+       Implemented all the On* methods.
+
+       * ListViewCommandEventArgs.cs: implemented the CommandSource and
+       Item properties.
+
+       * ListViewItemEventArgs.cs: implemented the Item property.
+
+2008-09-18  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * LinqDataSource.cs, LinqDataSourceView.cs
+         LinqDataSourceContextEventArgs.cs
+         LinqDataSourceDeleteEventArgs.cs
+         LinqDataSourceDisposeEventArgs.cs
+         LinqDataSourceInsertEventArgs.cs
+         LinqDataSourceSelectEventArgs.cs
+         LinqDataSourceStatusEventArgs.cs
+         LinqDataSourceUpdateEventArgs.cs : easy implementation parts.
+
 2008-09-18  Atsushi Enomoto  <atsushi@ximian.com>
 
        * LinqDataSource.cs, LinqDataSourceView.cs