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

How do I Client side access a dynamic RadGrid inside Placeholder control?

2 Answers 190 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Mike Metafarms
Top achievements
Rank 2
Mike Metafarms asked on 17 Jun 2014, 09:20 PM
I have a radgrid I created dynamically and added to a placeholder control, I want to get have access to the grid on the client side.

I cant seem to find it unless I hard code the grid name into $find(). like this 
var hardCode = $find("ctl00_MainContent_RadPanelBar1_i0_i1_BatchEditGrid");

How do I find the grid otherwise?

Here is an outline of the code--

ASPX
<%@ Page Title="" Language="C#" AutoEventWireup="true" CodeBehind="GridFeatureTestForm.aspx.cs" Inherits="IProduction.GridFeatureTestForm" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0    Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<head runat="server">
    <title></title>
</head>
<body>
<form id="form1" runat="server">
    <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" OnAjaxRequest="RadAjaxManager1_AjaxRequest"></telerik:RadAjaxManager>
    <script type="text/javascript">
            function testGrid() {
 
                var hardCode = $find("ctl00_MainContent_RadPanelBar1_i0_i1_BatchEditGrid");
 
                var placeholder = $find("<%= PlaceHolder2.ClientID %>");
                alert(placeholder);
 
                var radGrid = ('<%= (RadGrid)RadPanelBar1.FindControl("BatchEditGrid") %>');
                alert(radGrid);
            }
        </script>
<div style="width: 200px;">
<input value="doClient" type="button" onclick="javascript: testGrid();" />
<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
    <telerik:RadPanelBar runat="server" ID="RadPanelBar1" Width="100%">
        <Items>
            <telerik:RadPanelItem Expanded="true">
                <Items>
                    <telerik:RadPanelItem Text="Add Records" Expanded="false" Selected="True">
                        <ContentTemplate>
                            <asp:PlaceHolder ID="PlaceHolder3" runat="server"></asp:PlaceHolder>
                        </ContentTemplate>
                    </telerik:RadPanelItem>
                    <telerik:RadPanelItem Text="Edit Records" Expanded="true" Selected="True">
                        <ContentTemplate>
                            <asp:PlaceHolder ID="PlaceHolder2" runat="server"></asp:PlaceHolder>
                        </ContentTemplate>
                    </telerik:RadPanelItem>
                </Items>
            </telerik:RadPanelItem>
        </Items>
        <ExpandAnimation Type="None" />
    </telerik:RadPanelBar>
</div>
</form>
</body>
</html>


ASCX
protected void Page_Init(object sender, System.EventArgs e)
{
    RadGrid grid = new RadGrid();
    grid.ID = "BatchEditGrid";
 
    PlaceHolder2.Controls.Add(grid);
}


















2 Answers, 1 is accepted

Sort by
0
Accepted
Shinu
Top achievements
Rank 2
answered on 18 Jun 2014, 10:36 AM
Hi Mike Metafarms,

Please try the below JavaScript code snippet to access the dynamically created RadGrid.

JavaScript:
function testGrid() {
    var panelBar = $find("<%=RadPanelBar1.ClientID%>");
    var radGrid = panelBar._findItemByText("Edit Records").findControl("BatchEditGrid");
}

Thanks,
Shinu.
0
Mike Metafarms
Top achievements
Rank 2
answered on 18 Jun 2014, 05:47 PM
I see..... Thank you for your help. I've got the grid now.
I also got my telerik client javascript intellisense to work. (it is a must dream tool to help learn the client API)
Tags
Grid
Asked by
Mike Metafarms
Top achievements
Rank 2
Answers by
Shinu
Top achievements
Rank 2
Mike Metafarms
Top achievements
Rank 2
Share this question
or