This is a migrated thread and some comments may be shown as answers.

client side refresh radgrid on button postback

4 Answers 500 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Tayyab Asghar
Top achievements
Rank 1
Tayyab Asghar asked on 02 Dec 2011, 06:44 AM

I am using Rad grid and binding on client side using EntityDataSource. Grid.Rebind() does not work with this.

I have tried to use "RadAjaxPanel" to refresh the grid but still not working. Please help me ASAP

 

 

<telerik:RadScriptManager ID="RadScriptManagerOrders" runat="server">

        </telerik:RadScriptManager>

        <telerik:RadAjaxManager ID="RadAjaxManagerOrders" runat="server">

            <AjaxSettings>

                <telerik:AjaxSetting AjaxControlID="ButtonSave"> 

                <UpdatedControls> 

                  <telerik:AjaxUpdatedControl ControlID="ajax1Panel" LoadingPanelID="RadAjaxLoadingPanelGrid" />

                   <telerik:AjaxUpdatedControl ControlID="RadGridOrders" LoadingPanelID="RadAjaxLoadingPanelGrid" />

               </UpdatedControls> 

                </telerik:AjaxSetting> 

            </AjaxSettings>

            <ClientEvents OnRequestStart="RequestStart" OnResponseEnd="ResponseEnd" />

        </telerik:RadAjaxManager>

        <telerik:RadAjaxLoadingPanel runat="server" ID="RadAjaxLoadingPanelGrid" Skin="Windows7"

            Transparency="20" />

 

 

 

 <telerik:RadGrid>

 

 

<telerik:RadAjaxPanel ID="ajax1Panel" runat="server" >

 

<telerik:RadGrid AutoGenerateColumns="False" ID="RadGridOrders" PageSize="10" DataSourceID="EntityDataSource_Orders" EnableEmbeddedSkins="false"

            AllowFilteringByColumn="true" AllowPaging="True" OnItemCommand="RadGridOrders_ItemCommand" OnSortCommand="RadGridOrders_OnSortCommand"

            OnPageSizeChanged="RadGridOrders_OnPageSizeChanged" OnPageIndexChanged="RadGridOrders_OnPageIndexChanged"  OnSelectedIndexChanged="RadGridOrders_SelectedIndexChanged"

            AllowSorting="True" runat="server" OnItemDataBound="RadGridOrders_ItemDataBound" EnableViewState="true" Skin="MyCustomSkin" >

            <PagerStyle Mode="NextPrevAndNumeric" />

            <GroupingSettings CaseSensitive="false" />

            <MasterTableView TableLayout="Fixed" DataKeyNames="ordre_id">

                <NoRecordsTemplate>

                    <div>

                        No records to display.</div>

                </NoRecordsTemplate>

                <Columns>

                    <telerik:GridBoundColumn HeaderText="Ordrenr." DataField="ordre_id" UniqueName="ordre_id"

                        Resizable="true" SortExpression="ordre_id" HeaderStyle-Width="60px" FilterControlWidth="35px"

                        AutoPostBackOnFilter="true" CurrentFilterFunction="Contains" ShowFilterIcon="true">

                    </telerik:GridBoundColumn>

                           </Columns>                       

            </MasterTableView>

            <ClientSettings EnablePostBackOnRowClick="true">

                <Selecting AllowRowSelect="True" />

            </ClientSettings>

           

        </telerik:RadGrid>

 

    </telerik:RadGrid>

    </telerik:RadAjaxPanel>

 

 

 

 

<asp:EntityDataSource runat="server" ContextTypeName="Order_Entities"

 

 

 

 

 

 

 

ID="EntityDataSource_Orders" EntitySetName="Ordre_View" Select="it.ordre_id

 

 

 

 

"OrderBy="it.ordre_id desc" OnSelecting="EntityDataSource_Orders_Selecting">

 

 

 

 

 

 

 

</asp:EntityDataSource>

 

Best Regards,

hina

4 Answers, 1 is accepted

Sort by
0
Maria Ilieva
Telerik team
answered on 06 Dec 2011, 03:08 PM
Hi,

Not that is not a supported scenario to have RadAjaxPanel added in the RadAjaxManager settings or have the both controls update the same part of the page. Please suggest changing the RadAjaxPanel with regular asp Panel and verify of this makes a difference.
Also you could call DataBind on the client side ResponseEnd event of the RadAjaxManager as follows:
var mtv = $find("RadGrid1").get_masterTableView();
mtv.dataBind();

Give this a try and let me know if it helps.

Kind regards,
Maria Ilieva
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now
0
Tayyab Asghar
Top achievements
Rank 1
answered on 06 Dec 2011, 03:32 PM

Hi Again,

 

Thanks, I have applied both solutions

 

  1. Remove update panel : It does not work to remove update panel.
  2. Remove Ajax settings : It works only if I remove Ajax settings but I have to show update loading panel / some progress symbol. How can I show progress if I will remove  ajax setting. Any solution please ?

 

<%-- <telerik:RadAjaxManager ID="RadAjaxManagerOrders" runat="server">

            <AjaxSettings>

                <telerik:AjaxSetting AjaxControlID="RadGridOrders">

                    <UpdatedControls>

                     <telerik:AjaxUpdatedControl ControlID="RadGridOrders" LoadingPanelID="RadAjaxLoadingPanelGrid" />

                        <telerik:AjaxUpdatedControl ControlID="PanelOrderDetail" LoadingPanelID="RadAjaxLoadingPanelGrid" />

                    </UpdatedControls>

                </telerik:AjaxSetting>

                 <telerik:AjaxSetting AjaxControlID="ButtonSave"> 

                <UpdatedControls> 

                  <telerik:AjaxUpdatedControl ControlID="RadGridOrders" LoadingPanelID="RadAjaxLoadingPanelGrid" />

                   <telerik:AjaxUpdatedControl ControlID="PanelOrderDetail" LoadingPanelID="RadAjaxLoadingPanelGrid" />

                </UpdatedControls> 

                </telerik:AjaxSetting> 

 

                <telerik:AjaxSetting AjaxControlID="ButtonCancel"> 

                <UpdatedControls> 

                    <telerik:AjaxUpdatedControl ControlID="RadGridOrders" LoadingPanelID="RadAjaxLoadingPanelGrid" />

                     <telerik:AjaxUpdatedControl ControlID="PanelOrderDetail" LoadingPanelID="RadAjaxLoadingPanelGrid" />

                </UpdatedControls> 

                </telerik:AjaxSetting>

 

            </AjaxSettings>

          <ClientEvents OnRequestStart="RequestStart" OnResponseEnd="ResponseEnd" />

        </telerik:RadAjaxManager>

        <telerik:RadAjaxLoadingPanel runat="server" ID="RadAjaxLoadingPanelGrid" Skin="Windows7"

            Transparency="20" />--%>

 

        <telerik:RadCodeBlockID="RadCodeBlock1"runat="server">

            <scripttype="text/javascript">

<%--                function RequestStart(sender, eventArgs) {

                  

                }

                function ResponseEnd(sender, eventArgs) {

 

                  

                }

                function onRowSelected() {

                }--%>

            </script>

        

        </telerik:RadCodeBlock>

       

<%--      <telerik:RadAjaxPanel ID="ajax1Panel" runat="server" > --%>

        <telerik:RadGridAutoGenerateColumns="False"ID="RadGridOrders"PageSize="10"DataSourceID="EntityDataSource_Orders"EnableEmbeddedSkins="false"             AllowFilteringByColumn="true"AllowPaging="True"OnItemCommand="RadGridOrders_ItemCommand"OnSortCommand="RadGridOrders_OnSortCommand"

            OnPageSizeChanged="RadGridOrders_OnPageSizeChanged"OnPageIndexChanged="RadGridOrders_OnPageIndexChanged"  OnSelectedIndexChanged="RadGridOrders_SelectedIndexChanged"

            AllowSorting="True"runat="server"  OnItemDataBound="RadGridOrders_ItemDataBound"  EnableViewState="true"Skin="MyCustomSkin">

            <PagerStyleMode="NextPrevAndNumeric"/>

            <GroupingSettingsCaseSensitive="false"/>

            <MasterTableViewTableLayout="Fixed"DataKeyNames="ordre_id">

                <NoRecordsTemplate>

                    <div>

                        No records to display.</div>

                </NoRecordsTemplate>

                <Columns>

                    <telerik:GridBoundColumnHeaderText="Ordrenr."DataField="ordre_id"UniqueName="ordre_id"

                        Resizable="true"SortExpression="ordre_id"HeaderStyle-Width="60px"FilterControlWidth="35px"

                        AutoPostBackOnFilter="true"CurrentFilterFunction="Contains"ShowFilterIcon="true">

                    </telerik:GridBoundColumn>

                </Columns>                       

            </MasterTableView>

            <ClientSettingsEnablePostBackOnRowClick="true">

                <SelectingAllowRowSelect="True"/>

            </ClientSettings>

           

        </telerik:RadGrid>

<%--    </telerik:RadAjaxPanel>--%>

        <asp:EntityDataSourcerunat="server"ContextTypeName=&rdquo; Order_Entities"

            ID="EntityDataSource_Orders"EntitySetName="Ordre_View"Select="it.ordre_id"

            OrderBy="it.ordre_id desc"OnSelecting="EntityDataSource_Orders_Selecting">

        </asp:EntityDataSource>

    </div>

 

<%--<asp:UpdatePanelID="UpdatePanelOrderDetail"runat="server"UpdateMode="Conditional">       

        <ContentTemplate> --%>

            <asp:PanelID="PanelOrderDetail"runat="server"Visible="false"CssClass=""DefaultButton="">

                <br/>

                <asp:PanelID="PanelOrderOverlay"runat="server"CssClass="OrderPanelStyle">

                   

                    <tablewidth="100%">

                    <tr>

                        <td>

                            <telerik:RadButtonID="ButtonCancel"runat="server"Text="Annuller ordre"Width="125px"

                                Skin="Office2007"OnClientClicked="OnClientClicked"OnClick="ButtonCancel_OnClick">

                            </telerik:RadButton>

                        </td>

                        <tdalign="right">

                            <telerik:RadButtonID="ButtonSave"runat="server"Text="Gem"Width="125px"Skin="Office2007"OnClick="ButtonSave_OnClick">

                            </telerik:RadButton>

                        </td>

                    </tr>

                </table>

               </asp:Panel>

            </asp:Panel>

  <%--  </ContentTemplate>

    </asp:UpdatePanel>    

--%>

0
Tayyab Asghar
Top achievements
Rank 1
answered on 06 Dec 2011, 04:21 PM
i have tried

function

 

 

ResponseEnd(sender, eventArgs) {

 

 

 

var mtv = $find("ctl00_MainContent_RadGridOrders").get_masterTableView();

 

 

 

if (mtv != null && mtv._dataSource !=null) {

 

mtv.dataBind();

}

}



but i when i press save and ResponsEnd is called but  mtv._dataSource is null
0
Maria Ilieva
Telerik team
answered on 09 Dec 2011, 10:24 AM
Hello,

Your mark-up seems all right and, going by your second post, evidently there is something wrong with your code behind. I'd ask you to open up a formal support ticket and send us a fully runnable implementation of your project along with a back-up copy of the database. This will facilitate us to a great extent with pinpointing the issue and will guarantee you a faster response on our part.

Best wishes,
Maria Ilieva
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now
Tags
Grid
Asked by
Tayyab Asghar
Top achievements
Rank 1
Answers by
Maria Ilieva
Telerik team
Tayyab Asghar
Top achievements
Rank 1
Share this question
or