Search code examples
c#asp.netteleriktelerik-grid

How to manually trigger a PostBackOnFilter in a Telerik RadGrid?


I have a telerik radgrid which contains some telerik:GridBoundColumns. Until now all of them had their AutoPostBackOnFilter value set to true. This made a filter apply whenever I hit enter while inside in one of the filterboxes or if I simply left the focus of the given filter. I want to remove this functionality. So I set AutoPostBackOnFilter to "false".

If I now create a custom button on the page is there a way to trigger this same PostBack via my button?


Solution

  • The answer is going to vary depending on the version of Telerik that you are using; howerver, in general, telerik dumps out standard HTML, so if tou are going to be submitting form data a plain old submit should work. Also Telerik does use Ajax to handle specialized events. Here is an example:

    Aspx

    <form id="form1" runat="server">
    <telerik:RadScriptManager ID="RadScriptManager1" runat="server">
    </telerik:RadScriptManager>
    <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" OnAjaxRequest="RadAjaxManager1_AjaxRequest">
    </telerik:RadAjaxManager>
    <telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
        <script type="text/javascript">
            function clientClick() {
                var ajaxManager = $find("<%= RadAjaxManager1.ClientID %>");
                ajaxManager.ajaxRequest("client");
            }
        </script>
    </telerik:RadCodeBlock>
    <div>
        <asp:Button ID="btnServer" runat="server" Text="Make server AjaxRequest" OnClick="btnServer_Click" />
        <input id="btnClient" type="button" value="Make client AjaxRequest" onclick="clientClick();" />
    </div>
    </form>
    

    Code Behind

    protected void btnServer_Click(object sender, EventArgs e)
    {
        RadAjaxManager1.RaisePostBackEvent("server");
    }
    protected void RadAjaxManager1_AjaxRequest(object sender, Telerik.Web.UI.AjaxRequestEventArgs e)
    {
        RadAjaxManager1.Alert("AjaxRequest raised from the " + e.Argument);
    }
    

    http://docs.telerik.com/devtools/aspnet-ajax/controls/ajax/server-side-programming/events/onajaxrequest

    http://docs.telerik.com/devtools/aspnet-ajax/controls/grid/control-lifecycle/how-to-fire-command-events