diff options
author | Jackson Harper <jackson@novell.com> | 2003-11-29 11:48:43 +0300 |
---|---|---|
committer | Jackson Harper <jackson@novell.com> | 2003-11-29 11:48:43 +0300 |
commit | 860e2b71f30719f7be6004d4285ab7f089b9260a (patch) | |
tree | cf19e7a55322cdde8dc22fd593681c382e7da496 | |
parent | e3b47975719c58c759317d1b3252983ff28b50f1 (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/ChangeLog | 5 | ||||
-rw-r--r-- | mcs/class/System.Web/System.Web.UI.WebControls/DataGrid.cs | 68 |
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(" ")); - 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(" ")); } - 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(" ")); } - if(i < lastPageNumber) - toAdd.Controls.Add(new LiteralControl(" ")); } if(pageCount > lastPageNumber) { |