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