2008-11-19 Marek Habersack * 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 * 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 * 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 * 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 * ListView.cs: implemented the sorting capability. * ListViewSortEventArgs.cs: implemented all the methods and properties. 2008-11-01 Marek Habersack * 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 * 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 * 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 * LinqDataSource.cs : set ContextTypeName too when ContextType is set. 2008-10-09 Atsushi Enomoto * LinqDataSource.cs : implement ContextType/ContextTypeName. * LinqDataSourceView.cs : some ExecuteSelect() implementation. Cache type members which are from reflection. 2008-10-08 Atsushi Enomoto * LinqDataSource.cs, LinqDataSourceView.cs : some more implementation. 2008-09-30 Marek Habersack * 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 * 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 * LinqDataSource.cs, LinqDataSourceView.cs LinqDataSourceContextEventArgs.cs LinqDataSourceDeleteEventArgs.cs LinqDataSourceDisposeEventArgs.cs LinqDataSourceInsertEventArgs.cs LinqDataSourceSelectEventArgs.cs LinqDataSourceStatusEventArgs.cs LinqDataSourceUpdateEventArgs.cs LinqDataSourceValidationException.cs : stubbed out. 2008-05-08 Marek Habersack * DataPager.cs, DataPager.cs, DataPagerFieldCollection.cs, DataPagerFieldCommandEventArgs.cs, DataPagerField.cs, DataPagerFieldItem.cs, InsertItemPosition.cs, IPageableItemContainer.cs, ListViewCancelEventArgs.cs, ListViewCancelMode.cs, ListViewCommandEventArgs.cs, ListView.cs, ListViewDataItem.cs, ListViewDeletedEventArgs.cs, ListViewDeleteEventArgs.cs, ListViewEditEventArgs.cs, ListViewInsertedEventArgs.cs, ListViewInsertEventArgs.cs, ListViewItem.cs, ListViewItemEventArgs.cs, ListViewItemType.cs, ListViewPagedDataSource.cs, ListViewSelectEventArgs.cs, ListViewSortEventArgs.cs, ListViewTableRow.cs, ListViewUpdatedEventArgs.cs, ListViewUpdateEventArgs.cs, NextPreviousPagerField.cs, NumericPagerField.cs, PageEventArgs.cs, PagePropertiesChangingEventArgs.cs, TemplatePagerField.cs: added. NOTE: this is code in progress! It is not fully implemented and usable, please do not file bug reports for the code - patches are gladly accepted :)