Explorar o código

2006-10-11 Igor Zelmanovich <[email protected]>

	* ObjectDataSourceView.cs: fixed: 
	CanRetrieveTotalRowCount returns true if EnablePaging = false


svn path=/trunk/mcs/; revision=66544
Igor Zelmanovich %!s(int64=19) %!d(string=hai) anos
pai
achega
dbccccde8d

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

@@ -1,3 +1,8 @@
+2006-10-11 Igor Zelmanovich <[email protected]>
+
+	* ObjectDataSourceView.cs: fixed: 
+	CanRetrieveTotalRowCount returns true if EnablePaging = false
+
 2006-10-10 Igor Zelmanovich <[email protected]>
 
 	* DataBoundControl.cs: fixed: DataBind flow

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

@@ -261,7 +261,12 @@ namespace System.Web.UI.WebControls
 		}
 		
 		public override bool CanRetrieveTotalRowCount {
-			get { return SelectCountMethod.Length > 0; }
+			get {
+				if( SelectCountMethod.Length > 0)
+					return true;
+
+				return !EnablePaging;
+			}
 		}
 		
 		public override bool CanSort {
@@ -929,14 +934,14 @@ namespace System.Web.UI.WebControls
 			}
 		}
 		
-		/// <summary>
-		/// Merge the current data item fields with view parameter default values
-		/// </summary>
-		/// <param name="viewParams">default parameters</param>
-		/// <param name="values">new parameters for update and insert</param>
-		/// <param name="oldValues">old parameters for update and delete</param>
-		/// <param name="allwaysAddNewValues">true for insert, as current item is
-		/// irrelevant for insert</param>
+		/// <summary>
+		/// Merge the current data item fields with view parameter default values
+		/// </summary>
+		/// <param name="viewParams">default parameters</param>
+		/// <param name="values">new parameters for update and insert</param>
+		/// <param name="oldValues">old parameters for update and delete</param>
+		/// <param name="allwaysAddNewValues">true for insert, as current item is
+		/// irrelevant for insert</param>
 		/// <returns>merged values</returns>
 		IOrderedDictionary MergeParameterValues (ParameterCollection viewParams, IDictionary values, IDictionary oldValues, bool allwaysAddNewValues)
 		{
@@ -1098,3 +1103,4 @@ namespace System.Web.UI.WebControls
 }
 #endif
 
+

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

@@ -1,3 +1,7 @@
+2006-10-11 Igor Zelmanovich <[email protected]>
+
+	* ObjectDataSourceViewTest.cs:  New test was added
+			
 2006-10-11 Merav Sudri <[email protected]>
 	* The following new tests were added:
 	* System.Web.UI.WebControls.SessionParameterTest.cs

+ 21 - 0
mcs/class/System.Web/Test/System.Web.UI.WebControls/ObjectDataSourceViewTest.cs

@@ -345,6 +345,27 @@ namespace MonoTests.System.Web.UI.WebControls
 			Assert.IsFalse (sql.CanUpdate, "A3");
 		}
 
+		[Test]
+		public void CanRetrieveTotalRowCount () {
+			ObjectDataSource ds = new ObjectDataSource ();
+			ObjectDataSourceView view = new ObjectDataSourceView (ds, "DefaultView", null);
+
+			Assert.IsFalse (view.CanPage, "CanPage#1");
+			Assert.IsTrue (view.CanRetrieveTotalRowCount, "CanRetrieveTotalRowCount#1");
+
+			view.EnablePaging = true;
+			Assert.IsTrue (view.CanPage, "CanPage#2");
+			Assert.IsFalse (view.CanRetrieveTotalRowCount, "CanRetrieveTotalRowCount#2");
+
+			view.SelectCountMethod = "SelectCountMethod";
+			Assert.IsTrue (view.CanPage, "CanPage#3");
+			Assert.IsTrue (view.CanRetrieveTotalRowCount, "CanRetrieveTotalRowCount#3");
+
+			view.EnablePaging = false;
+			Assert.IsFalse (view.CanPage, "CanPage#4");
+			Assert.IsTrue (view.CanRetrieveTotalRowCount, "CanRetrieveTotalRowCount#4");
+		}
+
 		[Test]
 		public void OldValuesParameterFormatString ()
 		{