Przeglądaj źródła

2007-05-29 Igor Zelmanovich <[email protected]>

	* ObjectDataSourceView.cs:
	* SiteMapDataSource.cs:
	* SqlDataSource.cs:
	* SqlDataSourceView.cs:
	DataSourceChanged and DataSourceViewChanged are raised in right case, when
	different properties changed their value.				


svn path=/trunk/mcs/; revision=78131
Igor Zelmanovich 18 lat temu
rodzic
commit
86644d0e33

+ 9 - 0
mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog

@@ -1,3 +1,12 @@
+2007-05-29 Igor Zelmanovich <[email protected]>
+
+	* ObjectDataSourceView.cs:
+	* SiteMapDataSource.cs:
+	* SqlDataSource.cs:
+	* SqlDataSourceView.cs:
+	DataSourceChanged and DataSourceViewChanged are raised in right case, when
+	different properties changed their value.				
+
 2007-05-27 Igor Zelmanovich <[email protected]>
 
 	* ObjectDataSourceView.cs: fixed SelectMethod and SelectCountMethod properties:

+ 41 - 15
mcs/class/System.Web/System.Web.UI.WebControls/ObjectDataSourceView.cs

@@ -294,7 +294,12 @@ namespace System.Web.UI.WebControls
 		private ConflictOptions conflictDetection = ConflictOptions.OverwriteChanges;
 		public ConflictOptions ConflictDetection {
 			get { return conflictDetection; }
-			set { conflictDetection = value; }
+			set {
+				if (ConflictDetection == value)
+					return;
+				conflictDetection = value;
+				OnDataSourceViewChanged (EventArgs.Empty);
+			}
 		}
 
 		public bool ConvertNullToDBNull	{
@@ -306,9 +311,12 @@ namespace System.Web.UI.WebControls
 			get {
 				return dataObjectTypeName != null ? dataObjectTypeName : string.Empty;
 			}
-			set {
+			set {
+				if (DataObjectTypeName == value)
+					return;
 				dataObjectTypeName = value;
-				dataObjectType = null;
+				dataObjectType = null;
+				OnDataSourceViewChanged (EventArgs.Empty);
 			}
 		}
 
@@ -334,8 +342,11 @@ namespace System.Web.UI.WebControls
 			get {
 				return enablePaging;
 			}
-			set {
-				enablePaging = value;
+			set {
+				if (EnablePaging == value)
+					return;
+				enablePaging = value;
+				OnDataSourceViewChanged (EventArgs.Empty);
 			}
 		}
 
@@ -343,8 +354,11 @@ namespace System.Web.UI.WebControls
 			get {
 				return filterExpression != null ? filterExpression : string.Empty;
 			}
-			set {
-				filterExpression = value;
+			set {
+				if (FilterExpression == value)
+					return;
+				filterExpression = value;
+				OnDataSourceViewChanged (EventArgs.Empty);
 			}
 		}
 
@@ -382,8 +396,11 @@ namespace System.Web.UI.WebControls
 			get {
 				return maximumRowsParameterName != null ? maximumRowsParameterName : "maximumRows";
 			}
-			set {
-				maximumRowsParameterName = value;
+			set {
+				if (MaximumRowsParameterName == value)
+					return;
+				maximumRowsParameterName = value;
+				OnDataSourceViewChanged (EventArgs.Empty);
 			}
 		}
 
@@ -391,8 +408,11 @@ namespace System.Web.UI.WebControls
 			get {
 				return oldValuesParameterFormatString != null ? oldValuesParameterFormatString : "{0}";
 			}
-			set {
-				oldValuesParameterFormatString = value;
+			set {
+				if (OldValuesParameterFormatString == value)
+					return;
+				oldValuesParameterFormatString = value;
+				OnDataSourceViewChanged (EventArgs.Empty);
 			}
 		}
 
@@ -445,8 +465,11 @@ namespace System.Web.UI.WebControls
 			get {
 				return startRowIndexParameterName != null ? startRowIndexParameterName : "startRowIndex";
 			}
-			set {
-				startRowIndexParameterName = value;
+			set {
+				if (StartRowIndexParameterName == value)
+					return;
+				startRowIndexParameterName = value;
+				OnDataSourceViewChanged (EventArgs.Empty);
 			}
 		}
 
@@ -454,9 +477,12 @@ namespace System.Web.UI.WebControls
 			get {
 				return typeName != null ? typeName : string.Empty;
 			}
-			set {
+			set {
+				if (TypeName == value)
+					return;
 				typeName = value;
-				objectType = null;
+				objectType = null;
+				OnDataSourceViewChanged (EventArgs.Empty);
 			}
 		}
 

+ 4 - 1
mcs/class/System.Web/System.Web.UI.WebControls/SiteMapDataSource.cs

@@ -131,7 +131,10 @@ namespace System.Web.UI.WebControls
 		[DefaultValue (0)]
 		public virtual int StartingNodeOffset {
 			get { return ViewState.GetInt ("StartingNodeOffset", 0); }
-			set { ViewState["StartingNodeOffset"] = value; }
+			set {
+				ViewState ["StartingNodeOffset"] = value;
+				OnDataSourceChanged (EventArgs.Empty);
+			}
 		}
 		
 		[DefaultValueAttribute (false)]

+ 0 - 9
mcs/class/System.Web/System.Web.UI.WebControls/SqlDataSource.cs

@@ -81,9 +81,6 @@ namespace System.Web.UI.WebControls {
 		protected virtual SqlDataSourceView CreateDataSourceView (string viewName)
 		{
 			SqlDataSourceView view = new SqlDataSourceView (this, viewName, this.Context);
-			view.DataSourceViewChanged += new EventHandler (ViewChanged);
-			if (IsTrackingViewState)
-				((IStateManager) view).TrackViewState ();			
 			return view;
 		}
 
@@ -436,18 +433,12 @@ namespace System.Web.UI.WebControls {
 			get {
 				if (view == null) {
 					view = CreateDataSourceView ("DefaultView");
-					view.DataSourceViewChanged += new EventHandler (ViewChanged);
 					if (IsTrackingViewState)
 						((IStateManager) view).TrackViewState ();
 				}
 				return view;
 			}
 		}
-		
-		void ViewChanged (object source, EventArgs e)
-		{
-			RaiseDataSourceChangedEvent (e);
-		}
 	}
 }
 #endif

+ 30 - 5
mcs/class/System.Web/System.Web.UI.WebControls/SqlDataSourceView.cs

@@ -531,7 +531,12 @@ namespace System.Web.UI.WebControls {
 		private bool cancelSelectOnNullParameter = true;
 		public bool CancelSelectOnNullParameter {
 			get { return cancelSelectOnNullParameter; }
-			set { cancelSelectOnNullParameter = value; }
+			set {
+				if (CancelSelectOnNullParameter == value)
+					return;
+				cancelSelectOnNullParameter = value;
+				OnDataSourceViewChanged (EventArgs.Empty);
+			}
 		}
 
 		public override bool CanDelete {
@@ -570,7 +575,12 @@ namespace System.Web.UI.WebControls {
 		private ConflictOptions conflictDetection = ConflictOptions.OverwriteChanges;
 		public ConflictOptions ConflictDetection {
 			get { return conflictDetection; }
-			set { conflictDetection = value; }
+			set {
+				if (ConflictDetection == value)
+					return;
+				conflictDetection = value;
+				OnDataSourceViewChanged (EventArgs.Empty);
+			}
 		}
 
 		// LAME SPEC: MSDN says value should be saved in ViewState but tests show otherwise.
@@ -598,7 +608,12 @@ namespace System.Web.UI.WebControls {
 		private string filterExpression = "";
 		public string FilterExpression {
 			get { return filterExpression; }
-			set { filterExpression = value; }
+			set {
+				if (FilterExpression == value)
+					return;
+				filterExpression = value;
+				OnDataSourceViewChanged (EventArgs.Empty);
+			}
 		}
 
 		[EditorAttribute ("System.Web.UI.Design.WebControls.ParameterCollectionEditor, " + Consts.AssemblySystem_Design, "System.Drawing.Design.UITypeEditor, " + Consts.AssemblySystem_Drawing)]
@@ -638,7 +653,12 @@ namespace System.Web.UI.WebControls {
 		[DefaultValue ("{0}")]
 		public string OldValuesParameterFormatString {
 			get { return oldValuesParameterFormatString; }
-			set { oldValuesParameterFormatString = value; }
+			set {
+				if (OldValuesParameterFormatString == value)
+					return;
+				oldValuesParameterFormatString = value;
+				OnDataSourceViewChanged (EventArgs.Empty);
+			}
 		}
 
 		// LAME SPEC: MSDN says value should be saved in ViewState but tests show otherwise.
@@ -668,7 +688,12 @@ namespace System.Web.UI.WebControls {
 		private string sortParameterName = "";
 		public string SortParameterName {
 			get { return sortParameterName; }
-			set { sortParameterName = value; }
+			set {
+				if (SortParameterName == value)
+					return;
+				sortParameterName = value;
+				OnDataSourceViewChanged (EventArgs.Empty);
+			}
 		}
 
 		// LAME SPEC: MSDN says value should be saved in ViewState but tests show otherwise.