Hi Geoff
Providing the code sample is easy -- making runnable is what would be tricky.
Anyway here you go.
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Pivotv2.ascx.cs" Inherits="ModelViewer.User_Controls.Pivotv2" %>
<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>
<script src="../scripts/pivots.js" type="text/javascript"></script>
<style>
/*SET BECAUSE MESSES WITH FONTS USING THE STYLE TAG AND STYLE TAG NEEDED OTHERWISE HEIGHT NOT CORRECTLY FOR SOME REASON*/
form table
{
font-size: 11px;
}
</style>
<ext:Panel ID="pnlContainer" runat="server" Header="false" BodyPadding="0" Border="false" Collapsible="false" BodyCls="PanelBodyStyle">
<BottomBar>
<ext:Toolbar ID="Toolbar1" runat="server" Height="30">
<Items>
<ext:ToolbarFill></ext:ToolbarFill>
<ext:Button runat="server" ID="btnNotes" Text="Notes" StandOut="true" Icon="Comments">
<Listeners>
</Listeners>
</ext:Button>
</Items>
</ext:Toolbar>
</BottomBar>
<LayoutConfig>
<ext:VBoxLayoutConfig Align="Stretch" />
</LayoutConfig>
<Items>
<ext:Panel ID="pnlInfo" runat="server" Header="false" Height="30" BodyCls="Label" BodyPadding="0" Border="true" MarginSpec="5 5 0 5">
<Content>
<div style="padding-top: 7px"><b>REPUBLIC 2015 - L186L18H (UNPUBLISHED)</b></div>
</Content>
<Plugins>
<ext:Badge ID="_HasNotes" runat="server" Scale="Small" RenderToBody="false" HideEmpty="true" OffsetX="-40" OffsetY="15"/>
</Plugins>
</ext:Panel>
<ext:Panel ID="pnlOption1" Header="true" Title="By Construction" IconCls="Pivot" runat="server" flex="1" MarginSpec="5 5 5 5" Border="false" BodyPadding="0">
<Content>
<asp:ScriptManager ID="sm" runat="server" />
<telerik:RadButton ID="btnStandard" runat="server" OnClick="btn_Click" Text="Standard Button" ></telerik:RadButton>
<%-- <telerik:RadScriptManager runat="server" ID="rsm" /> --%>
<telerik:RadAjaxManager ID="ram" runat="server" DefaultLoadingPanelID="rlp" >
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="rpgPivot" >
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="rpgPivot" ></telerik:AjaxUpdatedControl>
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="btnStandard" >
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="btnStandard" ></telerik:AjaxUpdatedControl>
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManager>
<telerik:RadAjaxLoadingPanel ID="rlp" runat="server" Skin="Silk"></telerik:RadAjaxLoadingPanel>
<%-- <telerik:RadButton ID="rbtnSave" runat="server" OnClientClicked="" Text="Save Filter Settings" AutoPostBack="false" UseSubmitBehavior="false">
</telerik:RadButton>--%>
<telerik:RadPivotGrid ID="rpgPivot" runat="server" OnNeedDataSource="rpgPivot_NeedDataSource" Height="100%" LoadingPanelID="rlp" BorderWidth="0px"
AllowPaging="true" AllowFiltering="true" ShowFilterHeaderZone="true" Skin="Silk" PageSize="50" AllowSorting="true"
FilterHeaderZoneText="Drag here to remove from Pivot" EnableZoneContextMenu="true" EnableConfigurationPanel="true"
ShowColumnHeaderZone="true" ShowDataHeaderZone="false" ShowRowHeaderZone="true" EnableCaching="false" Visible="true" >
<ConfigurationPanelSettings DefaultDeferedLayoutUpdate="true" EnableFieldsContextMenu="false" LayoutType="TwoByTwo" />
<ClientSettings Scrolling-AllowVerticalScroll="true" EnableFieldsDragDrop="true" >
<ClientMessages DragToReorder="Drag the field to change its order" />
<ClientEvents OnCommand="rpgPivot_ItemCommand" />
</ClientSettings>
<PagerStyle AlwaysVisible="true" />
<DataCellStyle Width="150px" />
<FieldsPopupSettings AggregateFieldsMinCount="2" ColumnFieldsMinCount="2" RowFieldsMinCount="2" />
<Fields>
<telerik:PivotGridColumnField Caption="Built" DataField="YEAR_BUILT" UniqueName="YEAR_BUILT"></telerik:PivotGridColumnField>
<telerik:PivotGridAggregateField Caption="TIV" DataField="TIV"></telerik:PivotGridAggregateField>
<telerik:PivotGridRowField Caption="Construction" DataField="CONSTRUCTION"></telerik:PivotGridRowField>
</Fields>
</telerik:RadPivotGrid>
<%--<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="ReturnPivotData" TypeName="ModelViewer.Class.PivotItemData"></asp:ObjectDataSource>--%>
</Content>
</ext:Panel>
</Items>
</ext:Panel>
protected void rpgPivot_NeedDataSource(object sender, PivotGridNeedDataSourceEventArgs e)
{
// WORKS AND BINDS CORRECTLY ON THE CLIENT
(sender as RadPivotGrid).DataSource = PivotItemData.ReturnPivotData();
}
[DirectMethod]
public void LoadControl()
{
// DOES NOT WORK AS CLIENT NOT UPDATED.
rpgPivot.SetFilterIncludes("Construction", new object[] { "Industrial", "Steel" });
}
Not sure that helps as you can't run it but at least you can see how it is structured. All the code exists in a user control loaded into a tab panel on an aspx page. The bit that fails is SetFilterIncludes (no error just does not update on the client).
The need datasource event fires and populates the grid. It is a bit annoying it fires when the app loads so will need to kill that somehow.
Framing it does work as you might expect with loading like below
<%--SET AUTO LOAD TO FALSE LOAD AND IN THE DIRECT METHOD ONCE CONNECTED TO DB PROPER--%>
<Loader ID="Loader1" runat="server" Url="Frames\PivotGrid.aspx?Type=1" Mode="Frame" AutoLoad="true" >
<LoadMask ShowMask="true" />
</Loader>