2009-09-08 Marek Habersack <mhabersack@novell.com>
[mono.git] / mcs / class / System.Web.Extensions / System.Web.UI.WebControls / ChangeLog
1 2009-09-08  Marek Habersack  <mhabersack@novell.com>
2
3         * ListView.cs: if total row count has been retrieved from the
4         view, don't reset it to the number of items returned from the data
5         source. Fixes bug #535701
6
7 2009-09-01  Marek Habersack  <mhabersack@novell.com>
8
9         * ListView.cs: LoadControlState must call OnTotalRowCountAvailable
10         after restoring the state, so that all parties subscribed to that
11         event are given chance to react accordingly.
12         SetPageProperties should use values stored in
13         PagePropertiesChangingEventArgs arguments after handler returns.
14
15 2009-06-25  Marek Habersack  <mhabersack@novell.com>
16
17         * LinqDataSource.cs: make ContextType not throw an exception when
18         ContextTypeName is not set, but rather return a null in that
19         case.
20
21 2009-03-03  Marek Habersack  <mhabersack@novell.com>
22
23         * ListView.cs: SetPageProperties invoked the
24         PagePropertiesChanging event with the startRowIndex and
25         maximumRows parameters reversed. Fixes bugs #481250 and #481252
26
27         * DataPagerField.cs: GetQueryModeStartRowIndex must return 'true'
28         if in query mode. Fixes bug #481248
29
30 2008-11-28  Marek Habersack  <mhabersack@novell.com>
31
32         * ListView.cs: use the _correct_ operator when checking whether
33         selected item index is within the data keys range.
34
35 2008-11-27  Marek Habersack  <mhabersack@novell.com>
36
37         * ListView.cs: fixes in DoUpdate and DoDelete - check must be made
38         that the requested item index is _smaller_ than the number of
39         keys, not _bigger_.
40         Enable using the lambda expression in CreateItemsInGroups - the
41         gmcs bug preventing that was fixed.
42
43 2008-11-20  Marek Habersack  <mhabersack@novell.com>
44
45         * ListView.cs: implemented the EditItem property.
46         Use ConvertEmptyStringToNull in ExtractItemValues.
47
48 2008-11-19  Marek Habersack  <mhabersack@novell.com>
49
50         * ListView.cs: added paremeter checks to AddControlToContainer.
51         CreateInsertItem must instantiate the template and call raise the
52         ItemCreated event.
53         Added parameter checks to FindPlaceholder
54
55 2008-11-18  Marek Habersack  <mhabersack@novell.com>
56
57         * ListViewContainer.cs: added
58
59         * ListView.cs: implemented grouping support. With this ListView is
60         feature complete.
61         Refactored grouped/non-grouped rendering common code into separate
62         methods.
63         FindPlaceholder now looks for the placeholder recursively.
64         Implemented forgotten UpdateItem method.
65         Align group with empty items if there are no more data items.
66         Each group is contained within ListViewContainer.
67
68         * ListViewTableCell.cs: added
69
70 2008-11-15  Marek Habersack  <mhabersack@novell.com>
71
72         * ListViewInsertEventArgs.cs: implemented the Values property.
73
74         * ListView.cs: CreateChildControls uses the Items collection to
75         store the created items.
76         InsertNewItem triggers page validation if necessary.
77         Part of InsertNewItem code refactored to DoInsert.
78         Implemented handling of the Insert and Select commands.
79
80         * TemplatePagerField.cs: implemented all the code.
81
82         * DataPager.cs: CreatePagerFields now adds the new pager field
83         control before creating data pagers in it and before binding to
84         data. This avoids situation in which the field is parentless.
85         FindPageableItemContainer now properly finds the container if it's
86         placed directly in the Page.
87         {Load,Save}ViewState don't use a Pair anymore, object array is
88         used for compatibility with MS.NET
89
90         * NumericPagerField.cs, NextPreviousPagerField.cs,
91         DataPagerFieldCommandEventArgs.cs: minor refactoring
92
93         * ListViewSelectEventArgs.cs: implemented all the code.
94
95         * ListViewInsertedEventArgs.cs: Values allocates the dictionary on
96         demand now.
97         Initialize all the properties in constructor
98
99         * DataPagerCommandEventArgs.cs: added
100
101         * DataPagerField.cs: implemented IsTrackingViewState
102
103         * DataPagerFieldItem.cs: implements the INonBindingContainer
104         interface.
105
106 2008-11-13  Marek Habersack  <mhabersack@novell.com>
107
108         * ListView.cs: implemented support for Edit, Update and Delete.
109         Implemented ExtractItemValues.
110
111         * ListViewDataItem.cs, ListViewItem.cs: implemented OnBubbleEvent.
112
113         * ListViewDeletedEventArgs.cs, ListViewUpdateEventArgs.cs,
114         ListViewEditEventArgs.cs, ListViewCancelEventArgs.cs,
115         ListViewDeleteEventArgs.cs, ListViewUpdatedEventArgs.cs:
116         implemented all the properties and methods.
117
118         * HelperExtensions.cs: added
119
120 2008-11-06  Marek Habersack  <mhabersack@novell.com>
121
122         * ListView.cs: implemented the sorting capability.
123
124         * ListViewSortEventArgs.cs: implemented all the methods and
125         properties. 
126
127 2008-11-01  Marek Habersack  <mhabersack@novell.com>
128
129         * ListView.cs: do not instantiate the layout template more than
130         necessary.
131
132         * NextPreviousPagerField.cs: moved some common code to the base
133         class (the GetQueryModeStartRowIndex method)
134
135         * DataPager.cs: do not call SetPageProperties more than
136         necessary.
137
138         * NumericPagerField.cs: implemented
139
140         * DataPagerField.cs: added a helper method,
141         GetQueryModeStartRowIndex, to be used by all the concrete
142         implementations to calculate the starting row index in the query
143         mode.
144
145 2008-10-31  Marek Habersack  <mhabersack@novell.com>
146
147         * ListView.cs: use StartRowIndex and MaximumRows properties when
148         calculating the total row count server paging case and when
149         assigning to corresponding properties of the paged data source.
150
151 2008-10-30  Marek Habersack  <mhabersack@novell.com>
152
153         * DataPagerFieldCollection.cs: implemented most of the methods and
154         properties, so that using the DataPager is possible now.
155
156         * PagePropertiesChangingEventArgs.cs: implemented all the methods
157         and properties.
158
159         * ListView.cs: {Save,Load}ControlState now uses constants to index
160         state arrays. Total row count is stored in the control state.
161         CreateChildControls () now uses dummy data to initialize child
162         controls if no items were found after postback.
163         CreateChildControls (IEnumerable, bool) now properly calculates
164         total row count, calls OnTotalRowCountAvailable after creating the
165         child controls and returns the total row count instead of the
166         number of created child controls. This makes pager work
167         correctly.
168         Implemented SetPageProperties () to support paging.
169
170         * NextPreviousPagerField.cs: Correctly order the Next/Previous
171         buttons.
172         When creating buttons, cast the new control properly before
173         assigning properties.
174
175         * TemplatePagerField.cs: added (stub)
176
177         * DataPager.cs: added missing class attributes (ParseChildren,
178         PersistChildren and SupportsEventValidation).
179         {Save,Load}ControlState now use constants to index the state
180         arrays.
181         Properly implemented FindPageableItemContainer - it now looks for
182         the container up the parenthood chain, querying all the naming
183         containers for the named control.
184         SetUpForNewContainer now accepts an additional parameter, so that
185         the SetPageProperties method is called on the container whenever
186         necessary.
187
188         * NumericPagerField.cs: implemented the CreateField method.
189
190         * ListViewPagedDataSource.cs: implemented data source
191         enumerators.
192
193         * DataPagerFieldItem.cs: implemented all the methods and properties.
194
195 2008-10-21  Atsushi Enomoto  <atsushi@ximian.com>
196
197         * LinqDataSource.cs : set ContextTypeName too when ContextType is set.
198
199 2008-10-09  Atsushi Enomoto  <atsushi@ximian.com>
200
201         * LinqDataSource.cs : implement ContextType/ContextTypeName.
202         * LinqDataSourceView.cs : some ExecuteSelect() implementation.
203           Cache type members which are from reflection.
204
205 2008-10-08  Atsushi Enomoto  <atsushi@ximian.com>
206
207         * LinqDataSource.cs, LinqDataSourceView.cs :
208           some more implementation.
209
210 2008-09-30  Marek Habersack  <mhabersack@novell.com>
211
212         * ListView.cs: implemented all the events.
213         CreateChildControls works with non-ICollection data sources now.
214         CreateItemsWithoutGroups now counts items placed in the container
215         and stores the container in a field, so that RemoveItems can
216         properly delete the child controls.
217         Implemented the RemoveItems method.
218         Implemented Load/SaveControlState.
219         Implemented LoadViewState.
220         Implemented OnBubbleEvent.
221         Implemented all the On* methods.
222
223         * ListViewCommandEventArgs.cs: implemented the CommandSource and
224         Item properties.
225
226         * ListViewItemEventArgs.cs: implemented the Item property.
227
228 2008-09-18  Atsushi Enomoto  <atsushi@ximian.com>
229
230         * LinqDataSource.cs, LinqDataSourceView.cs
231           LinqDataSourceContextEventArgs.cs
232           LinqDataSourceDeleteEventArgs.cs
233           LinqDataSourceDisposeEventArgs.cs
234           LinqDataSourceInsertEventArgs.cs
235           LinqDataSourceSelectEventArgs.cs
236           LinqDataSourceStatusEventArgs.cs
237           LinqDataSourceUpdateEventArgs.cs : easy implementation parts.
238
239 2008-09-18  Atsushi Enomoto  <atsushi@ximian.com>
240
241         * LinqDataSource.cs, LinqDataSourceView.cs
242           LinqDataSourceContextEventArgs.cs
243           LinqDataSourceDeleteEventArgs.cs
244           LinqDataSourceDisposeEventArgs.cs
245           LinqDataSourceInsertEventArgs.cs
246           LinqDataSourceSelectEventArgs.cs
247           LinqDataSourceStatusEventArgs.cs
248           LinqDataSourceUpdateEventArgs.cs
249           LinqDataSourceValidationException.cs : stubbed out.
250
251 2008-05-08  Marek Habersack  <mhabersack@novell.com>
252
253         * DataPager.cs, DataPager.cs, DataPagerFieldCollection.cs,
254         DataPagerFieldCommandEventArgs.cs, DataPagerField.cs,
255         DataPagerFieldItem.cs, InsertItemPosition.cs,
256         IPageableItemContainer.cs, ListViewCancelEventArgs.cs,
257         ListViewCancelMode.cs, ListViewCommandEventArgs.cs, ListView.cs,
258         ListViewDataItem.cs, ListViewDeletedEventArgs.cs,
259         ListViewDeleteEventArgs.cs, ListViewEditEventArgs.cs,
260         ListViewInsertedEventArgs.cs, ListViewInsertEventArgs.cs,
261         ListViewItem.cs, ListViewItemEventArgs.cs, ListViewItemType.cs,
262         ListViewPagedDataSource.cs, ListViewSelectEventArgs.cs,
263         ListViewSortEventArgs.cs, ListViewTableRow.cs,
264         ListViewUpdatedEventArgs.cs, ListViewUpdateEventArgs.cs,
265         NextPreviousPagerField.cs, NumericPagerField.cs, PageEventArgs.cs,
266         PagePropertiesChangingEventArgs.cs, TemplatePagerField.cs:
267         added. NOTE: this is code in progress! It is not fully implemented
268         and usable, please do not file bug reports for the code - patches
269         are gladly accepted :)
270