2010-06-19  Marek Habersack  <mhabersack@novell.com>

	* DataPager.cs: when rendering the ID attribute, use ClientID

2010-06-18  Marek Habersack  <mhabersack@novell.com>

	* NumericPagerField.cs: CreateDataPagers outputs correct page
	number in query mode. Fixes bug #615315
	Rendering changes to match .NET

	* DataPagerField.cs: if query string has been handled and query
	mode is in effect, return true. Fixes bug #615315

2010-05-18  Marek Habersack  <mhabersack@novell.com>

	* ListView.cs: if data source has pageable data, get total count
	from the source's DataSourceCount property. Fixes bug #604053

2009-12-15  Marek Habersack  <mhabersack@novell.com>

	* NextPreviousPagerField.cs: HandleEvent doesn't call
	DataPager.SetPageProperties with negative start index. Also, if
	_totalRowCount is <= 0, new start index is not calculated using
	it. Fixes bug #545417

	* ListViewPagedDataSource.cs: when server paging is on, data items
	are counted from index 0 instead of from the value stored in
	StartRowIndex. Fixes bug #545417

	* ListView.cs: CreateChildControls doesn't create empty data item
	if called with fake data.
	When a view reports it can page data, ListViewPagedDataSource
	passed to item creation methods has AllowServerPaging set to
	true. Fixes bug #545417
	When CreateChildControls is called with fake data,
	ListViewPagedDataSource has its TotalRowCount property set to the
	actual total row count, not zero. Fixes bug #545417

2009-09-15  Marek Habersack  <mhabersack@novell.com>

	* ListView.cs: CreateChildControls calls EnsureDataBound only if
	we're not in post-back and if data binding is required.

2009-09-08  Marek Habersack  <mhabersack@novell.com>

	* ListView.cs: if total row count has been retrieved from the
	view, don't reset it to the number of items returned from the data
	source. Fixes bug #535701

2009-09-01  Marek Habersack  <mhabersack@novell.com>

	* ListView.cs: LoadControlState must call OnTotalRowCountAvailable
	after restoring the state, so that all parties subscribed to that
	event are given chance to react accordingly.
	SetPageProperties should use values stored in
	PagePropertiesChangingEventArgs arguments after handler returns.

2009-06-25  Marek Habersack  <mhabersack@novell.com>

	* LinqDataSource.cs: make ContextType not throw an exception when
	ContextTypeName is not set, but rather return a null in that
	case.

2009-03-03  Marek Habersack  <mhabersack@novell.com>

	* ListView.cs: SetPageProperties invoked the
	PagePropertiesChanging event with the startRowIndex and
	maximumRows parameters reversed. Fixes bugs #481250 and #481252

	* DataPagerField.cs: GetQueryModeStartRowIndex must return 'true'
	if in query mode. Fixes bug #481248

2008-11-28  Marek Habersack  <mhabersack@novell.com>

	* ListView.cs: use the _correct_ operator when checking whether
	selected item index is within the data keys range.

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
	  LinqDataSourceContextEventArgs.cs
	  LinqDataSourceDeleteEventArgs.cs
	  LinqDataSourceDisposeEventArgs.cs
	  LinqDataSourceInsertEventArgs.cs
	  LinqDataSourceSelectEventArgs.cs
	  LinqDataSourceStatusEventArgs.cs
	  LinqDataSourceUpdateEventArgs.cs
	  LinqDataSourceValidationException.cs : stubbed out.

2008-05-08  Marek Habersack  <mhabersack@novell.com>

	* 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 :)

