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