http://www.telerik.com/DEMOS/ASPNET/Prometheus/Grid/Examples/Programming/AlphabeticPaging/DefaultCS.aspx
[code]
protected
void grdGlossary_ItemCreated(object sender, Telerik.Web.UI.GridItemEventArgs e)
{
if (e.Item is GridPagerItem)
{
GridPagerItem pagerItem = (e.Item as GridPagerItem);
pagerItem.PagerContentCell.Controls.Clear();
for (int i = 65; i < 65 + 25; i++)
{
LinkButton linkButton1 = new LinkButton();
LiteralControl lc = new LiteralControl(" ");
linkButton1.Text = "" + (char)i;
linkButton1.CommandName = "alpha";
linkButton1.CommandArgument = "" + (char)i;
pagerItem.PagerContentCell.Controls.Add(linkButton1);
pagerItem.PagerContentCell.Controls.Add(lc);
}
LiteralControl lcLast = new LiteralControl(" ");
pagerItem.PagerContentCell.Controls.Add(lcLast);
LinkButton linkButtonAll = new LinkButton();
linkButtonAll.Text = "All";
linkButtonAll.CommandName = "NoFilter";
pagerItem.PagerContentCell.Controls.Add(linkButtonAll);
}
}
protected void grdGlossary_ItemCommand(object source, Telerik.Web.UI.GridCommandEventArgs e)
{
String value = null;
switch (e.CommandName)
{
case ("alpha"):
{
value =
string.Format("{0}%", e.CommandArgument);
break;
}
case ("NoFilter"):
{
value =
"%";
break;
}
}
sqlGlossary.SelectParameters[
"PageLetter"].DefaultValue = value;
grdGlossary.Rebind();
}
[code]
[code]
<
telerik:RadGrid ID="grdGlossary" runat="server" AllowPaging="True" DataSourceID="sqlGlossary"
GridLines="None" OnItemCommand="grdGlossary_ItemCommand" OnItemCreated="grdGlossary_ItemCreated"
PageSize="20" Skin="Vista">
<PagerStyle AlwaysVisible="True" Mode="NextPrevAndNumeric" />
<MasterTableView AutoGenerateColumns="False" DataKeyNames="ID" DataSourceID="sqlGlossary"
GridLines="None">
<RowIndicatorColumn>
<HeaderStyle Width="20px"></HeaderStyle>
</RowIndicatorColumn>
<ExpandCollapseColumn>
<HeaderStyle Width="20px"></HeaderStyle>
</ExpandCollapseColumn>
<Columns>
<telerik:GridBoundColumn DataField="Term" HeaderText="Term" SortExpression="Term"
UniqueName="Term">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Definition" HeaderText="Definition" SortExpression="Definition"
UniqueName="Definition">
</telerik:GridBoundColumn>
</Columns>
</MasterTableView>
<FilterMenu EnableTheming="True">
<CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation>
</FilterMenu>
</telerik:RadGrid>
<asp:Label ID="lblGlossaryFilter" runat="server" Visible="false" Text="%"></asp:Label>
<asp:SqlDataSource ID="sqlGlossary" runat="server" ConnectionString="<%$ ConnectionStrings:XX %>"
SelectCommand="GetGlossaryAll" SelectCommandType="StoredProcedure">
<SelectParameters>
<asp:Parameter Name="PageLetter" DefaultValue="%" />
</SelectParameters>
<SelectParameters>
</asp:SqlDataSource>
[/code]
The initial page with "A" selected loads fine. However, when I click on any of the other page letters the grid does not rebind. Any ideas?