Author: lluis
Date: 2005-03-16 06:35:49 -0500 (Wed, 16 Mar 2005)
New Revision: 41888
Modified:
trunk/mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog
trunk/mcs/class/System.Web/System.Web.UI.WebControls/TreeNode.cs
trunk/mcs/class/System.Web/System.Web.UI.WebControls/TreeView.cs
Log:
2005-03-16 Lluis Sanchez Gual <[EMAIL PROTECTED]>
* TreeNode.cs, TreeView.cs: Don't raise the SelectedNodeChanged
event when loading the view state. Fixes #73746.
Modified: trunk/mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog
===================================================================
--- trunk/mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog
2005-03-16 11:28:12 UTC (rev 41887)
+++ trunk/mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog
2005-03-16 11:35:49 UTC (rev 41888)
@@ -1,3 +1,8 @@
+2005-03-16 Lluis Sanchez Gual <[EMAIL PROTECTED]>
+
+ * TreeNode.cs, TreeView.cs: Don't raise the SelectedNodeChanged
+ event when loading the view state. Fixes #73746.
+
2005-03-16 Lluis Sanchez Gual <[EMAIL PROTECTED]>
* ListControl.cs: Load selected indices in the right place. Fixes
#73745.
Modified: trunk/mcs/class/System.Web/System.Web.UI.WebControls/TreeNode.cs
===================================================================
--- trunk/mcs/class/System.Web/System.Web.UI.WebControls/TreeNode.cs
2005-03-16 11:28:12 UTC (rev 41887)
+++ trunk/mcs/class/System.Web/System.Web.UI.WebControls/TreeNode.cs
2005-03-16 11:35:49 UTC (rev 41888)
@@ -118,9 +118,9 @@
set {
if (SelectedFlag) {
if (value != null)
- value.SetSelectedNode (this);
+ value.SetSelectedNode (this,
false);
else if (tree != null)
- tree.SetSelectedNode (null);
+ tree.SetSelectedNode (null,
false);
}
tree = value;
if (nodes != null)
@@ -433,9 +433,9 @@
set {
if (tree != null) {
if (!value && tree.SelectedNode == this)
- tree.SetSelectedNode (null);
+ tree.SetSelectedNode (null,
false);
else if (value)
- tree.SetSelectedNode (this);
+ tree.SetSelectedNode (this,
false);
}
else
SelectedFlag = value;
@@ -574,7 +574,7 @@
ViewState.LoadViewState (states [0]);
if (tree != null && SelectedFlag)
- tree.SetSelectedNode (this);
+ tree.SetSelectedNode (this, true);
if (!PopulateOnDemand || Populated)
((IStateManager)ChildNodes).LoadViewState
(states [1]);
Modified: trunk/mcs/class/System.Web/System.Web.UI.WebControls/TreeView.cs
===================================================================
--- trunk/mcs/class/System.Web/System.Web.UI.WebControls/TreeView.cs
2005-03-16 11:28:12 UTC (rev 41887)
+++ trunk/mcs/class/System.Web/System.Web.UI.WebControls/TreeView.cs
2005-03-16 11:35:49 UTC (rev 41888)
@@ -654,14 +654,15 @@
get { return HtmlTextWriterTag.Div; }
}
- internal void SetSelectedNode (TreeNode node)
+ internal void SetSelectedNode (TreeNode node, bool loading)
{
if (selectedNode == node) return;
if (selectedNode != null)
selectedNode.SelectedFlag = false;
selectedNode = node;
selectedNode.SelectedFlag = true;
- OnSelectedNodeChanged (new TreeNodeEventArgs
(selectedNode));
+ if (!loading)
+ OnSelectedNodeChanged (new TreeNodeEventArgs
(selectedNode));
}
internal void NotifyCheckChanged (TreeNode node)
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches