Hi,
I Tried to acces RadGrid2, but i cannot acces it.
How is it possible to access Radgrid2?
Radgrid2 is within a radtap
Hope you can help me
</asp:ScriptManager> <telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateHierarchy="True" CellSpacing="0" Culture="de-DE" GridLines="None"><MasterTableView><CommandItemSettings ExportToPdfText="Export to PDF"></CommandItemSettings><RowIndicatorColumn Visible="True" FilterControlAltText="Filter RowIndicator column"><HeaderStyle Width="20px"></HeaderStyle></RowIndicatorColumn><ExpandCollapseColumn Visible="True" FilterControlAltText="Filter ExpandColumn column"><HeaderStyle Width="20px"></HeaderStyle></ExpandCollapseColumn> <NestedViewTemplate> <asp:Panel runat="server" ID="configControlContainer" CssClass="viewWrap" Visible="true"> <telerik:RadTabStrip runat="server" ID="TabStrip1" MultiPageID="Multipage1" SelectedIndex="0"> <Tabs> <telerik:RadTab runat="server" Text="Satzart 2" PageViewID="PageView1"> </telerik:RadTab> <telerik:RadTab runat="server" Text="Satzart 3" PageViewID="PageView2"> </telerik:RadTab> <telerik:RadTab runat="server" Text="Satzart 4" PageViewID="PageView3"> </telerik:RadTab> </Tabs> </telerik:RadTabStrip> <telerik:RadMultiPage runat="server" ID="Multipage1" SelectedIndex="0" RenderSelectedPageOnly="false"> <telerik:RadPageView runat="server" ID="PageView1"> <telerik:RadGrid ID="RadGrid2" runat="server" AutoGenerateHierarchy="True" CellSpacing="0" Culture="de-DE" GridLines="None"/> </telerik:RadPageView> </telerik:RadMultiPage> </asp:Panel> </NestedViewTemplate> <Columns> <telerik:GridBoundColumn DataField="id" FilterControlAltText="Filter column column" UniqueName="column"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Satzart" FilterControlAltText="Filter column1 column" UniqueName="column1"> </telerik:GridBoundColumn> </Columns>7 Answers, 1 is accepted
Please try the below sample code snippet to access a radgrid in nestedview template.
ASPX:
<telerik:RadGrid ID="RadGrid1" runat="server" OnNeedDataSource="RadGrid1_NeedDataSource" AllowPaging="true" OnItemCommand="RadGrid1_ItemCommand"> <MasterTableView DataKeyNames="CustomerID"> <NestedViewTemplate> <asp:Panel runat="server" ID="Panel1" Visible="true"> <telerik:RadTabStrip runat="server" ID="TabStrip1" MultiPageID="Multipage1" SelectedIndex="0"> <Tabs> <telerik:RadTab runat="server" Text="Page 1" PageViewID="PageView1"> </telerik:RadTab> </Tabs> </telerik:RadTabStrip> <telerik:RadMultiPage runat="server" ID="Multipage1" SelectedIndex="0" RenderSelectedPageOnly="false"> <telerik:RadPageView runat="server" ID="PageView1"> <telerik:RadGrid ID="RadGrid2" runat="server" AllowPaging="true" PageSize="5" OnNeedDataSource="RadGrid2_NeedDataSource" /> </telerik:RadPageView> </telerik:RadMultiPage> </asp:Panel> </NestedViewTemplate> </MasterTableView></telerik:RadGrid>C#:
protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e) { RadGrid1.DataSource = GetDataTable("SELECT CustomerID, CompanyName, ContactTitle FROM Customers"); } protected void RadGrid2_NeedDataSource(object sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e) { GridDataItem parentItem = ((sender as RadGrid).NamingContainer as GridNestedViewItem).ParentItem as GridDataItem; (sender as RadGrid).DataSource = GetDataTable("SELECT OrderID, EmployeeID, CustomerID FROM Orders where CustomerID='" + parentItem.GetDataKeyValue("CustomerID").ToString() + "'"); } protected void RadGrid1_ItemCommand(object sender, GridCommandEventArgs e) { if (e.CommandName == RadGrid.ExpandCollapseCommandName && !e.Item.Expanded) { GridDataItem parentItem = e.Item as GridDataItem; RadGrid grid = parentItem.ChildItem.FindControl("RadGrid2") as RadGrid; grid.Rebind(); } }Thanks,
Princy
Now i have another problem.
as i said before, i have a grid. In this grid there are a radmultipage with radtabs. In the radtabs there are 6 Radgrids for each of my six tabs.
No i want the radgrid to resizetofit, but it doesn´t worked.
Here´s my code snippet from the resize method:
<%-- <script> function pageLoad() { var grid = $find("RadGrid2"); var columns = grid.get_masterTableView().get_columns(); for (var i = 0; i < columns.length; i++) { columns[i].resizeToFit(); } var grid = $find("RadGrid3"); var columns = grid.get_masterTableView().get_columns(); for (var i = 0; i < columns.length; i++) { columns[i].resizeToFit(); } var grid = $find("RadGrid4"); var columns = grid.get_masterTableView().get_columns(); for (var i = 0; i < columns.length; i++) { columns[i].resizeToFit(); } var grid = $find("RadGrid5"); var columns = grid.get_masterTableView().get_columns(); for (var i = 0; i < columns.length; i++) { columns[i].resizeToFit(); } } </script>--%>Please try the following code snippet.The issue is in this line "$find("RadGrid2")". Please correct the code as below and check if the issue persists.
ASPX:
<telerik:RadCodeBlock ID="RadCodeBlock1" runat="server"> <script type="text/javascript"> function pageLoad() { var grid = $find("<%= RadGrid2.ClientID %>"); var columns = grid.get_masterTableView().get_columns(); for (var i = 0; i < columns.length; i++) { columns[i].resizeToFit(); } } </script></telerik:RadCodeBlock>Let me know if any concern.
Thanks,
Princy
To access the radgrid2 i have the following code:
Dim ChildGrid2 As New RadGridDim nestedItem As GridNestedViewItem = DirectCast(source.mastertableview.items(e.Item.ItemIndex).ChildItem, GridNestedViewItem) ChildGrid2 = DirectCast(nestedItem.FindControl("RadGrid2"), RadGrid) ChildGrid2.AutoGenerateColumns = TrueThe Radgrid2 is within a Radpageview, so i have to navigate to the radgrid2
You can resize the child grid by setting the resize method in OnGridCreated event of the Child RadGrid.Please try the below code snippet.
ASPX:
<telerik:RadCodeBlock ID="RadCodeBlock1" runat="server"> <script type="text/javascript"> //For ParentGrid RadGrid1 function pageLoad() { var grid = $find("<%= RadGrid1.ClientID %>"); var columns = grid.get_masterTableView().get_columns(); for (var i = 0; i < columns.length; i++) { columns[i].resizeToFit(); } } //For ChildGrid RadGrid2 function GridCreated(sender, args) { var grid = sender; var columns = grid.get_masterTableView().get_columns(); for (var i = 0; i < columns.length; i++) { columns[i].resizeToFit(); } } </script> </telerik:RadCodeBlock> <telerik:RadGrid ID="RadGrid1" runat="server" OnNeedDataSource="RadGrid1_NeedDataSource"> <MasterTableView DataKeyNames="CustomerID"> <NestedViewTemplate> <asp:Panel runat="server" ID="Panel1" > <telerik:RadTabStrip runat="server" ID="TabStrip1" MultiPageID="Multipage1" SelectedIndex="0"> <Tabs> <telerik:RadTab runat="server" Text="Page 1" PageViewID="PageView1"> </telerik:RadTab> </Tabs> </telerik:RadTabStrip> <telerik:RadMultiPage runat="server" ID="Multipage1" SelectedIndex="0" RenderSelectedPageOnly="false"> <telerik:RadPageView runat="server" ID="PageView1"> <telerik:RadGrid ID="RadGrid2" runat="server" AllowPaging="true" PageSize="3" OnNeedDataSource="RadGrid2_NeedDataSource"> <ClientSettings> <Resizing AllowColumnResize="true" ResizeGridOnColumnResize="true" AllowResizeToFit="true" /> <ClientEvents OnGridCreated="GridCreated" /> </ClientSettings> </telerik:RadGrid> </telerik:RadPageView> </telerik:RadMultiPage> </asp:Panel> </NestedViewTemplate> </MasterTableView> <ClientSettings Scrolling-AllowScroll="true"> <Resizing AllowColumnResize="true" ResizeGridOnColumnResize="true" AllowResizeToFit="true" /> </ClientSettings> </telerik:RadGrid>Thanks,
Princy
How to update the Tab.Text with some value, from Ajax on Client ( by javascript or jquery ) through Radgrid->NestedViewTemplate->RadTabStrip ?
<script>
function HierarchyExpanding(sender, args) {
var ROWNUM= args.getDataKeyValue("ROWNUM");
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "WebServices/GetData.asmx/getCountToParentisize",
data: "{'ROWNUM':'" + ROWNUM+ "'}",
dataType: "json",
async: false,
success: function (data) {
var count = data[0].ROWNUM);
????????? How update Tab.Text from here ?????? },
error: function (request, status, error) { }
});
</script>
<telerik:RadGrid runat="server" ID="RadGrid1"...>
<ClientSettings >
<ClientEvents OnRowClick="OnRowClick" OnHierarchyExpanding="HierarchyExpanding" />
</ClientSettings>
<MasterTableView AutoGenerateColumns="true" ClientDataKeyNames="ROWNUM" DataKeyNames="ROWNUM">
<NestedViewTemplate>
<asp:Panel ID="pnl" runat="server">
<telerik:RadTabStrip ID="rts" runat="server" MultiPageID="rmp" OnTabClick="rts_TabClick">
<Tabs>
<telerik:RadTab runat="server" Text="text1" PageViewID="rpv1" />
<telerik:RadTab runat="server" Text="text2" PageViewID="rpv2" />
Hi Anatoly,
The RadTab client-side object provides the set_text and set_value methods you can use to achieve this requirement:
https://docs.telerik.com/devtools/aspnet-ajax/controls/tabstrip/client-side-programming/objects/radtab-object
First, you will need to access the RadTabStrip control using the findControl method:
https://www.telerik.com/support/kb/aspnet-ajax/details/access-telerik-controls-on-client-side
Then, you can get the tab you want.
Finally, you can change its text using the set_text(...) method.
I hope this will prove helpful.
Regards,
Eyup
Progress Telerik
