or
function HideColumn(index) { var columnCount = RadGrid1.get_masterTableView().get_columns().length - 1; if (index < 0 || index > columnCount) { alert("Invalid index! The valid range is: " + 0 + "-" + columnCount); } else { RadGrid1.get_masterTableView().hideColumn(index); } }<script type='text/javascript'>function onCheckBoxClickctl00_Content_ddc1_CB1(){var combo=$find('ctl00_Content_ddc1_CB1'); var CountChecked=0; var text='This is the text message';var max ='4'; var items = combo.get_items();for(var i=0;i<items.get_count();i++){var item=items.getItem(i);var chk1=$get(combo.get_id()+'_i'+i+'_chk1');if(chk1.checked){CountChecked ++; if(max < CountChecked) {chk1.checked = false;}text+=item.get_text()+','; if(CountChecked > 3) { text = 'You have ' + CountChecked + ' items selected :';} }} text=removeLastDelimiter(text);if(text.length>0){combo.set_text(text);}else{combo.set_text('');}}</script>protected void GrdTicketsItemCommand(object sender, GridCommandEventArgs e){ if (e.CommandName == RadGrid.InitInsertCommandName) { // show insert form works fine e.Item.OwnerTableView.EditFormSettings.UserControlName = "BackendControls/AddBillingAndTicket.ascx"; e.Item.OwnerTableView.EditFormSettings.EditFormType = GridEditFormType.WebUserControl; e.Item.OwnerTableView.InsertItem(); // How to hide all items in MasterTableView and all DetailsTables? // this doesn't work: foreach (GridDataItem item in GrdTickets.Items) item.Visible = false; }}Hi,
Plesae let us know how to achieve the following.
1. Avoid loading the user control in nested view template when outer grid/page loads.
2. Allow loading of user control ONLY for the expanded row of the outer grid.
Find below the source code to work on. Any prompt help on this is really appreciated.
Note: The source code really doesn't have any parent and child relation in the data that it displays because it just a sample.
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="NVT._Default" %> <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> <%@ Register Src="PlayerDetails.ascx" TagName="PlayerDetails" TagPrefix="Player" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> <telerik:RadScriptManager ID="scriptManager" runat="server"></telerik:RadScriptManager> <telerik:RadGrid ID="grdPlayers" runat="server" OnNeedDataSource="GetPlayers" AutoGenerateColumns="true" OnItemCommand="grdPlayers_ItemCommand" OnItemCreated="grdPlayers_ItemCreated" > <MasterTableView> <NestedViewTemplate> <asp:Panel runat="server" ID="InnerContainer" Visible="false"> <Player:PlayerDetails id="ucPlayerDetails" runat="server"></Player:PlayerDetails> </asp:Panel> </NestedViewTemplate> </MasterTableView> </telerik:RadGrid> </div> </form> </body> </html>using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using Telerik.Web.UI; using System.Data; namespace NVT { public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void GetPlayers(object source, GridNeedDataSourceEventArgs e) { DataSet dsPlayers = new DataSet(); DataTable tblPlayers = new DataTable(); tblPlayers.Columns.Add("Name"); tblPlayers.Columns.Add("Age"); tblPlayers.Rows.Add("Sachin", "36"); tblPlayers.Rows.Add("Virender", "30"); dsPlayers.Tables.Add(tblPlayers); grdPlayers.DataSource = dsPlayers; } protected void grdPlayers_ItemCommand(object source, GridCommandEventArgs e) { if (e.CommandName == RadGrid.ExpandCollapseCommandName && e.Item is GridDataItem) { ((GridDataItem)e.Item).ChildItem.FindControl("InnerContainer").Visible = !e.Item.Expanded; } } protected void grdPlayers_ItemCreated(object sender, GridItemEventArgs e) { if (e.Item is GridNestedViewItem) { e.Item.FindControl("InnerContainer").Visible = ((GridNestedViewItem)e.Item).ParentItem.Expanded; } } } } <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="PlayerDetails.ascx.cs" Inherits="NVT.PlayerDetails" %> <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> <telerik:RadGrid ID="grdPlayerDetails" runat="server" AutoGenerateColumns="true"> </telerik:RadGrid>using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; using Telerik.Web.UI; namespace NVT { public partial class PlayerDetails : System.Web.UI.UserControl { protected void Page_Load(object sender, EventArgs e) { GetPlayerDetails(); grdPlayerDetails.DataBind(); } protected void GetPlayerDetails() { DataSet dsPlayerDetails = new DataSet(); DataTable tblPlayerDetails = new DataTable(); tblPlayerDetails.Columns.Add("Name"); tblPlayerDetails.Columns.Add("Age"); tblPlayerDetails.Rows.Add("Sachin", "36"); tblPlayerDetails.Rows.Add("Virender", "30"); dsPlayerDetails.Tables.Add(tblPlayerDetails); grdPlayerDetails.DataSource = dsPlayerDetails; } } }Thanks,
Kishore