Author: lluis
Date: 2005-04-15 16:41:42 -0400 (Fri, 15 Apr 2005)
New Revision: 43074
Modified:
trunk/mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog
trunk/mcs/class/System.Web/System.Web.UI.WebControls/DetailsView.cs
trunk/mcs/class/System.Web/System.Web.UI.WebControls/TemplateField.cs
Log:
2005-04-15 Lluis Sanchez Gual <[EMAIL PROTECTED]>
* DetailsView.cs: Added some null checks.
* TemplateField.cs: Implemented support for two-way bindings.
Modified: trunk/mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog
===================================================================
--- trunk/mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog
2005-04-15 20:41:11 UTC (rev 43073)
+++ trunk/mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog
2005-04-15 20:41:42 UTC (rev 43074)
@@ -1,3 +1,8 @@
+2005-04-15 Lluis Sanchez Gual <[EMAIL PROTECTED]>
+
+ * DetailsView.cs: Added some null checks.
+ * TemplateField.cs: Implemented support for two-way bindings.
+
2005-04-14 Lluis Sanchez Gual <[EMAIL PROTECTED]>
* DetailsView.cs: Implemented support for Insert operation.
Modified: trunk/mcs/class/System.Web/System.Web.UI.WebControls/DetailsView.cs
===================================================================
--- trunk/mcs/class/System.Web/System.Web.UI.WebControls/DetailsView.cs
2005-04-15 20:41:11 UTC (rev 43073)
+++ trunk/mcs/class/System.Web/System.Web.UI.WebControls/DetailsView.cs
2005-04-15 20:41:42 UTC (rev 43074)
@@ -1706,7 +1706,7 @@
for (int n=0; n<row.Cells.Count; n++) {
DataControlFieldCell fcell =
row.Cells[n] as DataControlFieldCell;
- if (fcell != null) {
+ if (fcell != null &&
fcell.ContainingField != null) {
if (n == 0 &&
fcell.ContainingField.ShowHeader) {
if (fieldHeaderStyle !=
null)
fieldHeaderStyle.AddAttributesToRender (writer, fcell);
@@ -1715,7 +1715,7 @@
else
fcell.ContainingField.ItemStyle.AddAttributesToRender (writer, fcell);
}
- fcell.Render (writer);
+ row.Cells[n].Render (writer);
}
row.RenderEndTag (writer);
}
Modified: trunk/mcs/class/System.Web/System.Web.UI.WebControls/TemplateField.cs
===================================================================
--- trunk/mcs/class/System.Web/System.Web.UI.WebControls/TemplateField.cs
2005-04-15 20:41:11 UTC (rev 43073)
+++ trunk/mcs/class/System.Web/System.Web.UI.WebControls/TemplateField.cs
2005-04-15 20:41:42 UTC (rev 43074)
@@ -29,6 +29,7 @@
//
#if NET_2_0
+using System.Collections;
using System.Collections.Specialized;
using System.Web.UI;
using System.Security.Permissions;
@@ -130,7 +131,7 @@
}
} else {
if ((rowState & DataControlRowState.Insert) !=
0) {
- if (headerTemplate != null) {
+ if (insertItemTemplate != null) {
insertItemTemplate.InstantiateIn (cell);
return;
}
@@ -154,10 +155,23 @@
base.InitializeCell (cell, cellType, rowState,
rowIndex);
}
- [MonoTODO]
public override void ExtractValuesFromCell (IOrderedDictionary
dictionary,
DataControlFieldCell cell, DataControlRowState
rowState, bool includeReadOnly)
{
+ IBindableTemplate bt;
+
+ if ((rowState & DataControlRowState.Insert) != 0)
+ bt = insertItemTemplate as IBindableTemplate;
+ else if ((rowState & DataControlRowState.Edit) != 0)
+ bt = editItemTemplate as IBindableTemplate;
+ else
+ return;
+
+ if (bt != null) {
+ IOrderedDictionary values = bt.ExtractValues
(cell);
+ foreach (DictionaryEntry e in values)
+ dictionary [e.Key] = e.Value;
+ }
}
public override void ValidateSupportsCallback ()
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches