Author: igorz
Date: 2006-10-08 10:09:12 -0400 (Sun, 08 Oct 2006)
New Revision: 66410

Modified:
   trunk/mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog
   trunk/mcs/class/System.Web/System.Web.UI.WebControls/FormView.cs
   trunk/mcs/class/System.Web/Test/System.Web.UI.WebControls/ChangeLog
   trunk/mcs/class/System.Web/Test/System.Web.UI.WebControls/FormViewTest.cs
Log:
2006-10-08 Igor Zelmanovich <[EMAIL PROTECTED]>

        * FormView.cs: fixed: CurrentMode property.



Modified: trunk/mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog
===================================================================
--- trunk/mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog      
2006-10-08 13:57:07 UTC (rev 66409)
+++ trunk/mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog      
2006-10-08 14:09:12 UTC (rev 66410)
@@ -1,5 +1,9 @@
 2006-10-08 Igor Zelmanovich <[EMAIL PROTECTED]>
 
+       * FormView.cs: fixed: CurrentMode property.
+
+2006-10-08 Igor Zelmanovich <[EMAIL PROTECTED]>
+
        * FormView.cs:
        * GridView.cs:
        * DetailsView.cs: 

Modified: trunk/mcs/class/System.Web/System.Web.UI.WebControls/FormView.cs
===================================================================
--- trunk/mcs/class/System.Web/System.Web.UI.WebControls/FormView.cs    
2006-10-08 13:57:07 UTC (rev 66409)
+++ trunk/mcs/class/System.Web/System.Web.UI.WebControls/FormView.cs    
2006-10-08 14:09:12 UTC (rev 66410)
@@ -102,6 +102,7 @@
                // Control state
                int pageIndex;
                FormViewMode currentMode = FormViewMode.ReadOnly; 
+               bool hasCurrentMode;
                int pageCount = 0;
                
                public FormView ()
@@ -366,8 +367,12 @@
                [BrowsableAttribute (false)]
                public FormViewMode CurrentMode {
                        get {
-                               return currentMode;
+                               return hasCurrentMode ? currentMode : 
DefaultMode;
                        }
+                       private set {
+                               hasCurrentMode = true;
+                               currentMode = value;
+                       }
                }
 
                FormViewMode defaultMode;
@@ -835,9 +840,6 @@
                        Controls.Clear ();
                        table = CreateTable ();
                        Controls.Add (table);
-                               
-                       if (!Page.IsPostBack)
-                               currentMode = DefaultMode;
 
                        // Gets the current data item
                        
@@ -1091,7 +1093,7 @@
                                case DataControlRowType.DataRow:
                                        if (rowStyle != null && 
!rowStyle.IsEmpty)
                                                row.ControlStyle.CopyFrom 
(rowStyle);
-                                       if ((row.RowState & 
DataControlRowState.Edit) != 0 && editRowStyle != null && !editRowStyle.IsEmpty)
+                                       if ((row.RowState & 
(DataControlRowState.Edit | DataControlRowState.Insert)) != 0 && editRowStyle 
!= null && !editRowStyle.IsEmpty)
                                                row.ControlStyle.CopyFrom 
(editRowStyle);
                                        if ((row.RowState & 
DataControlRowState.Insert) != 0 && insertRowStyle != null && 
!insertRowStyle.IsEmpty)
                                                row.ControlStyle.CopyFrom 
(insertRowStyle);
@@ -1223,7 +1225,7 @@
                        FormViewModeEventArgs args = new FormViewModeEventArgs 
(newMode, false);
                        OnModeChanging (args);
                        if (!args.Cancel) {
-                               currentMode = args.NewMode;
+                               CurrentMode = args.NewMode;
                                OnModeChanged (EventArgs.Empty);
                                RequireBinding ();
                        }
@@ -1248,7 +1250,7 @@
                        if (causesValidation)
                                Page.Validate ();
                        
-                       if (currentMode != FormViewMode.Edit) throw new 
NotSupportedException ();
+                       if (CurrentMode != FormViewMode.Edit) throw new 
NotSupportedException ();
                        
                        currentEditOldValues = oldEditValues.Values;
                        currentEditRowKeys = DataKey.Values;
@@ -1288,7 +1290,7 @@
                        if (causesValidation)
                                Page.Validate ();
                        
-                       if (currentMode != FormViewMode.Insert) throw new 
NotSupportedException ();
+                       if (CurrentMode != FormViewMode.Insert) throw new 
NotSupportedException ();
                        
                        currentEditNewValues = GetRowValues (true);
                        FormViewInsertEventArgs args = new 
FormViewInsertEventArgs (param, currentEditNewValues);
@@ -1369,7 +1371,7 @@
                        base.LoadControlState (state[0]);
                        pageIndex = (int) state[1];
                        pageCount = (int) state[2];
-                       currentMode = (FormViewMode) state[3];
+                       CurrentMode = (FormViewMode) state[3];
                        defaultMode = (FormViewMode) state[4];
                        dataKeyNames = (string[]) state[5];
                }
@@ -1378,7 +1380,7 @@
                {
                        object bstate = base.SaveControlState ();
                        return new object[] {
-                               bstate, pageIndex, pageCount, currentMode, 
defaultMode, dataKeyNames
+                               bstate, pageIndex, pageCount, CurrentMode, 
defaultMode, dataKeyNames
                        };
                }
                

Modified: trunk/mcs/class/System.Web/Test/System.Web.UI.WebControls/ChangeLog
===================================================================
--- trunk/mcs/class/System.Web/Test/System.Web.UI.WebControls/ChangeLog 
2006-10-08 13:57:07 UTC (rev 66409)
+++ trunk/mcs/class/System.Web/Test/System.Web.UI.WebControls/ChangeLog 
2006-10-08 14:09:12 UTC (rev 66410)
@@ -1,3 +1,7 @@
+2006-10-08 Igor Zelmanovich <[EMAIL PROTECTED]>
+
+       * FormViewTest.cs: added test
+                       
 2006-10-05 Igor Zelmanovich <[EMAIL PROTECTED]>
 
        * WebControlTest.cs: added test

Modified: 
trunk/mcs/class/System.Web/Test/System.Web.UI.WebControls/FormViewTest.cs
===================================================================
--- trunk/mcs/class/System.Web/Test/System.Web.UI.WebControls/FormViewTest.cs   
2006-10-08 13:57:07 UTC (rev 66409)
+++ trunk/mcs/class/System.Web/Test/System.Web.UI.WebControls/FormViewTest.cs   
2006-10-08 14:09:12 UTC (rev 66410)
@@ -1666,10 +1666,15 @@
                        Assert.AreEqual (true, pageHTML.Contains 
("FormView1_Label1"), "EmptyTemplateTest1"); 
                        Assert.AreEqual (true, pageHTML.Contains ("The Database 
is empty"), "EmptyTemplateTest2");
                }
-               
-               
 
-
+               [Test]
+               public void FormView_CurrentMode () {
+                       FormView view = new FormView ();
+                       view.DefaultMode = FormViewMode.Insert;
+                       Assert.AreEqual (FormViewMode.Insert, view.CurrentMode, 
"FormView_CurrentMode#1");
+                       view.ChangeMode (FormViewMode.Edit);
+                       Assert.AreEqual (FormViewMode.Edit, view.CurrentMode, 
"FormView_CurrentMode#2");
+               }
        }
 
        public class TestMyData

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to