Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJackson Harper <jackson@novell.com>2003-11-29 11:48:43 +0300
committerJackson Harper <jackson@novell.com>2003-11-29 11:48:43 +0300
commit860e2b71f30719f7be6004d4285ab7f089b9260a (patch)
treecf19e7a55322cdde8dc22fd593681c382e7da496
parente3b47975719c58c759317d1b3252983ff28b50f1 (diff)
* DataGrid.cs: Display paging controls even when there is no
data. Path by Mohammad DAMT. Fixes bug #51487. svn path=/trunk/mcs/; revision=20601
-rw-r--r--mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog5
-rw-r--r--mcs/class/System.Web/System.Web.UI.WebControls/DataGrid.cs68
2 files changed, 46 insertions, 27 deletions
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog b/mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog
index 7ef35a371e2..a97ae03790c 100644
--- a/mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog
+++ b/mcs/class/System.Web/System.Web.UI.WebControls/ChangeLog
@@ -1,5 +1,10 @@
2003-11-29 Jackson Harper <jackson@ximian.com>
+ * DataGrid.cs: Display paging controls even when there is no
+ data. Path by Mohammad DAMT. Fixes bug #51487.
+
+2003-11-29 Jackson Harper <jackson@ximian.com>
+
* DataGrid.cs: Call TrackViewState when loading bound columns view
state. So that their state is saved. This fixes bug #51424. Also
set ReadOnly.
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/DataGrid.cs b/mcs/class/System.Web/System.Web.UI.WebControls/DataGrid.cs
index ad7e510ed0f..b875eadf846 100644
--- a/mcs/class/System.Web/System.Web.UI.WebControls/DataGrid.cs
+++ b/mcs/class/System.Web/System.Web.UI.WebControls/DataGrid.cs
@@ -1326,19 +1326,26 @@ namespace System.Web.UI.WebControls
toAdd.Controls.Add(label);
}
toAdd.Controls.Add(new LiteralControl("&nbsp;"));
- if(!pagedDataSource.IsLastPage)
- {
- LinkButton link = new DataGridLinkButton();
- link.Text = PagerStyle.NextPageText;
- link.CommandName = "Page";
- link.CommandArgument = "Next";
- link.CausesValidation = false;
- toAdd.Controls.Add(link);
- } else
- {
+
+ if (pagedDataSource.PageCount == 0) {
Label label = new Label();
label.Text = PagerStyle.NextPageText;
toAdd.Controls.Add(label);
+ } else {
+ if(!pagedDataSource.IsLastPage)
+ {
+ LinkButton link = new DataGridLinkButton();
+ link.Text = PagerStyle.NextPageText;
+ link.CommandName = "Page";
+ link.CommandArgument = "Next";
+ link.CausesValidation = false;
+ toAdd.Controls.Add(link);
+ } else
+ {
+ Label label = new Label();
+ label.Text = PagerStyle.NextPageText;
+ toAdd.Controls.Add(label);
+ }
}
} else
{
@@ -1350,6 +1357,7 @@ namespace System.Web.UI.WebControls
numberOfPages = pageCount;
int firstPageNumber = 1; // 10
int lastPageNumber = numberOfPages; // 11
+
if(currPage > lastPageNumber)
{
firstPageNumber = (pagedDataSource.CurrentPageIndex / btnCount) * btnCount + 1;
@@ -1369,25 +1377,31 @@ namespace System.Web.UI.WebControls
toAdd.Controls.Add(toAddBtn);
toAdd.Controls.Add(new LiteralControl("&nbsp;"));
}
- for(int i = firstPageNumber; i <= lastPageNumber; i++)
- {
- string argText = i.ToString(NumberFormatInfo.InvariantInfo);
- if(i == currPage)
- {
- Label cPageLabel = new Label();
- cPageLabel.Text = argText;
- toAdd.Controls.Add(cPageLabel);
- } else
+ if (lastPageNumber == 0) {
+ Label cPageLabel = new Label();
+ cPageLabel.Text = "1";
+ toAdd.Controls.Add(cPageLabel);
+ } else {
+ for(int i = firstPageNumber; i <= lastPageNumber; i++)
{
- LinkButton indexButton = new DataGridLinkButton();
- indexButton.Text = argText;
- indexButton.CommandName = "Page";
- indexButton.CommandArgument = argText;
- indexButton.CausesValidation = false;
- toAdd.Controls.Add(indexButton);
+ string argText = i.ToString(NumberFormatInfo.InvariantInfo);
+ if(i == currPage)
+ {
+ Label cPageLabel = new Label();
+ cPageLabel.Text = argText;
+ toAdd.Controls.Add(cPageLabel);
+ } else
+ {
+ LinkButton indexButton = new DataGridLinkButton();
+ indexButton.Text = argText;
+ indexButton.CommandName = "Page";
+ indexButton.CommandArgument = argText;
+ indexButton.CausesValidation = false;
+ toAdd.Controls.Add(indexButton);
+ }
+ if(i < lastPageNumber)
+ toAdd.Controls.Add(new LiteralControl("&nbsp;"));
}
- if(i < lastPageNumber)
- toAdd.Controls.Add(new LiteralControl("&nbsp;"));
}
if(pageCount > lastPageNumber)
{