Hi all,
I trying to make a new pagertemplate based on the example from Grid / Pager Template. My custom pagertemplate looks like beneath:
I am trying to set this pagertemplate in my radgrid init as following:
But as you probably has guessed, nothing is showing up at my grid. What should I do?
Best regards,
Kenneth
I trying to make a new pagertemplate based on the example from Grid / Pager Template. My custom pagertemplate looks like beneath:
| using System; |
| using System.Web.UI; |
| using System.Web.UI.WebControls; |
| using Telerik.Web.UI; |
| namespace CustomControls |
| { |
| public sealed class PagerTemplatePanel : Panel, ITemplate |
| { |
| private readonly string _radGridID; |
| private Control _container; |
| public PagerTemplatePanel(string radGridID) |
| { |
| _radGridID = radGridID; |
| } |
| public void InstantiateIn(Control container) |
| { |
| _container = container; |
| } |
| public override ControlCollection Controls |
| { |
| get |
| { |
| //<asp:Panel Style="padding: 6px; line-height: 24px" runat="server"> |
| var panelMain = new Panel(); |
| panelMain.Style.Add(HtmlTextWriterStyle.Padding, "6px"); |
| panelMain.Style.Add("line-height", "24px"); |
| // <asp:Panel Style="margin: 0px; padding: 0px; float: left; margin-right: 10px; white-space: nowrap;" runat="server"> |
| var panel1 = new Panel(); |
| panel1.Style.Add(HtmlTextWriterStyle.MarginBottom, "0px"); |
| panel1.Style.Add(HtmlTextWriterStyle.MarginLeft, "0px"); |
| panel1.Style.Add(HtmlTextWriterStyle.MarginTop, "0px"); |
| panel1.Style.Add(HtmlTextWriterStyle.MarginRight, "10px"); |
| panel1.Style.Add(HtmlTextWriterStyle.Padding, "0px"); |
| panel1.Style.Add("float", "left"); |
| panel1.Style.Add(HtmlTextWriterStyle.WhiteSpace, "nowrap"); |
| // <asp:Button ID="BtnFirstPage" runat="server" OnClientClick="radGrid1ChangePage('first'); return false;" |
| // CommandName="Page" CommandArgument="First" Text=" " CssClass="PagerButton FirstPage" /> |
| var btnFirstPage = new Button |
| { |
| OnClientClick = "radGrid1ChangePage('first'); return false;", |
| CommandName = "Page", |
| CommandArgument = "First", |
| Text = " ", |
| CssClass = "PagerButton FirstPage" |
| }; |
| // <asp:Button ID="BtnPrevPage" runat="server" OnClientClick="radGrid1ChangePage('prev'); return false;" |
| // CommandName="Page" CommandArgument="Prev" Text=" " CssClass="PagerButton PrevPage" /> |
| var btnPrevPage = new Button |
| { |
| OnClientClick = "radGrid1ChangePage('prev'); return false;", |
| CommandName = "Page", |
| CommandArgument = "Prev", |
| Text = " ", |
| CssClass = "PagerButton PrevPage" |
| }; |
| // </asp:Panel> |
| panel1.Controls.Add(btnFirstPage); |
| panel1.Controls.Add(btnPrevPage); |
| // <asp:Panel runat="server" ID="NumericPagerPlaceHolder" Style="margin: 0px; padding: 0px; float: left; margin-right: 10px; white-space: nowrap;"/> |
| var panel2 = new Panel(); |
| panel2.Style.Add(HtmlTextWriterStyle.MarginBottom, "0px"); |
| panel2.Style.Add(HtmlTextWriterStyle.MarginLeft, "0px"); |
| panel2.Style.Add(HtmlTextWriterStyle.MarginTop, "0px"); |
| panel2.Style.Add(HtmlTextWriterStyle.MarginRight, "10px"); |
| panel2.Style.Add(HtmlTextWriterStyle.Padding, "0px"); |
| panel2.Style.Add("float", "left"); |
| panel2.Style.Add(HtmlTextWriterStyle.WhiteSpace, "nowrap"); |
| // <asp:Button ID="BtnNextPage" runat="server" OnClientClick="radGrid1ChangePage('next'); return false;" |
| // CommandName="Page" CommandArgument="Next" Text=" " CssClass="PagerButton NextPage" /> |
| var btnNextPage = new Button |
| { |
| OnClientClick = "radGrid1ChangePage('next'); return false;", |
| CommandName = "Page", |
| CommandArgument = "Next", |
| Text = " ", |
| CssClass = "PagerButton NextPage" |
| }; |
| // <asp:Button ID="BtnLastPage" runat="server" OnClientClick="radGrid1ChangePage('last'); return false;" |
| // CommandName="Page" CommandArgument="Last" Text=" " CssClass="PagerButton LastPage" /> |
| var btnLastPage = new Button |
| { |
| OnClientClick = "radGrid1ChangePage('last'); return false;", |
| CommandName = "Page", |
| CommandArgument = "Last", |
| Text = " ", |
| CssClass = "PagerButton LastPage" |
| }; |
| // </asp:Panel> |
| panel2.Controls.Add(btnNextPage); |
| panel2.Controls.Add(btnLastPage); |
| // <asp:Panel runat="server" Style="float: right"> |
| var panel3 = new Panel(); |
| panel3.Style.Add("float", "right"); |
| // <asp:Label Text="<%$ Resources:LanguageWeb, ItemsPerPage %>" runat="server"></asp:Label>: |
| var label1 = new Label { Text = Resources.LanguageWeb.ItemsPerPage + ":" }; |
| // <telerik:RadComboBox ID="RcbCatalogItemPageSize" DataSource="<%# new object[]{10, 20, 30, 40, 50} %>" |
| // Style="margin-right: 0px; margin-bottom: 5px;" Width="40px" SelectedValue='<%# DataBinder.Eval(Container, "Paging.PageSize") %>' |
| // runat="server" OnClientSelectedIndexChanged="RcbCatalogItemPageSize_SelectedIndexChanged"> |
| // </telerik:RadComboBox> |
| var comboBox = new RadComboBox |
| { |
| ID = "RcbCatalogItemPageSize", |
| DataSource = new object[] { 10, 20, 30, 40, 50 }, |
| Width = Unit.Pixel(40), |
| SelectedValue = DataBinder.Eval(_container, "Paging.PageSize").ToString(), |
| OnClientSelectedIndexChanged = "RcbCatalogItemPageSize_SelectedIndexChanged" |
| }; |
| comboBox.Style.Add(HtmlTextWriterStyle.MarginRight, "0px"); |
| comboBox.Style.Add(HtmlTextWriterStyle.MarginBottom, "40px"); |
| // </asp:Panel> |
| panel3.Controls.Add(label1); |
| panel3.Controls.Add(comboBox); |
| // <asp:Panel Style="margin: 0px; float: right;" runat="server"> |
| var panel4 = new Panel(); |
| panel4.Style.Add(HtmlTextWriterStyle.Margin, "0px"); |
| panel4.Style.Add("float", "right"); |
| // <asp:Label Text="<%$ Resources:LanguageWeb, ShowingResult %>" runat="server"></asp:Label> |
| // <%# (int)DataBinder.Eval(Container, "Paging.FirstIndexInPage") + 1 %> |
| // - |
| // <%# (int)DataBinder.Eval(Container, "Paging.LastIndexInPage") + 1 %> |
| // <asp:Label Text="<%$ Resources:LanguageWeb, OutOf %>" runat="server"></asp:Label> |
| // <%# DataBinder.Eval(Container, "Paging.DataSourceCount")%> |
| var label2 = new Label |
| { |
| Text = Resources.LanguageWeb.ShowingResult + " " + |
| (Convert.ToInt32(DataBinder.Eval(_container, "Paging.FirstIndexInPage")) + 1) + |
| " - " + |
| (Convert.ToInt32(DataBinder.Eval(_container, "Paging.LastIndexInPage")) + 1) + |
| " " + Resources.LanguageWeb.OutOf + " " + |
| DataBinder.Eval(_container, "Paging.DataSourceCount") |
| }; |
| // <asp:Image runat="server" |
| // ID="RadGrid1IncompleteWarning" ImageUrl="../App_Themes/Default/Graphics/Icons/warning.png" |
| // ToolTip="<%$ Resources:LanguageWeb, SpecifySearchForCompleteResult %>" |
| // CssClass="gridWarningIcon" />. |
| var imageIncompleteWarning = new Image |
| { |
| ID = _radGridID + "IncompleteWarning", |
| ImageUrl = "../App_Themes/Default/Graphics/Icons/warning.png", |
| ToolTip = Resources.LanguageWeb.SpecifySearchForCompleteResult, |
| CssClass = "gridWarningIcon" |
| }; |
| // </asp:Panel> |
| panel4.Controls.Add(label2); |
| panel4.Controls.Add(imageIncompleteWarning); |
| //</asp:Panel> |
| panelMain.Controls.Add(panel1); |
| panelMain.Controls.Add(panel2); |
| panelMain.Controls.Add(panel3); |
| panelMain.Controls.Add(panel4); |
| base.Controls.Add(panelMain); |
| return base.Controls; |
| } |
| } |
| } |
| } |
I am trying to set this pagertemplate in my radgrid init as following:
| protected void Grid_Init(object sender, EventArgs e) |
| { |
| if(!(sender is RadGrid)) return; |
| var grid = (RadGrid) sender; |
| grid.MasterTableView.PagerTemplate = new PagerTemplatePanel(grid.ID); |
| } |
But as you probably has guessed, nothing is showing up at my grid. What should I do?
Best regards,
Kenneth