or
function OnWindowBeforeClose(sender, args) { var oOpener = sender.get_openerElementID(); // OpenerElementID is the Ajaxable Object (RadAjaxPanel in this case) if (oOpener != null) { var oMan = GetRadWindowManager(); var oActive = oMan.getActiveWindow(); if (oActive != null) { var content = oActive.get_contentFrame().contentWindow; // how can i find the object here? var oAjaxable = content.get$(oOpener); // results = null var oAjaxable = $telerik.$(oOpener); // results = null if (oAjaxable.ajaxRequest != null) { oAjaxable.ajaxRequest("beforeclose::" + args.get_argument()); return; } } }}<telerik:RadGrid ID="rgView" runat="server" AutoGenerateColumns="False" GridLines="None" OnItemDataBound="rgView_ItemDataBound"> <MasterTableView> <Columns> <telerik:GridTemplateColumn> <HeaderTemplate><br> <asp:Table ID="tblHeaderItem" runat="server"> </asp:Table> </HeaderTemplate> <ItemTemplate> <asp:Table ID="tblItem" runat="server"> </asp:Table> </ItemTemplate> </telerik:GridTemplateColumn> </Columns> </MasterTableView></telerik:RadGrid>public DataView dv { get { return Session["AllControl_Academic_BookActivity_View_View_dv"]==null?null:(DataView)(Session["AllControl_Academic_BookActivity_View_View_dv"]); } set { Session["AllControl_Academic_BookActivity_View_View_dv"] = value; } }protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { BindTimeTable(); } }
private void BindTimeTable() { dv = new DataView(learningActivityModal.GetInformationAboutBooking((DateTime)this.rdpBookingDate.SelectedDate, SimpleWebSessionManagement.CurrentBranches, SimpleWebSessionManagement.CurrentTrainningProgram));//It just binddata DataTable workTable = new DataTable(); workTable.Columns.Add("RoomName", typeof(String)); DataRow row = workTable.NewRow(); row[0] = ""; workTable.Rows.Add(row); this.rgView.DataSource = workTable; this.rgView.DataBind(); }protected void rgView_ItemDataBound(object sender, GridItemEventArgs e) { if (e.Item.ItemType == GridItemType.Header) { Table tblHeader = e.Item.FindControl("tblHeaderItem") as Table; tblHeader.Width = new Unit("100%"); TableRow tblRow = new TableRow(); tblRow.Width = new Unit("100%"); TableCell tblCell = new TableCell(); tblCell.HorizontalAlign = HorizontalAlign.Left; tblCell.Width = new Unit("10%"); Label lblHeader = new Label(); lblHeader.Text = ""; tblCell.Controls.Add(lblHeader); tblRow.Cells.Add(tblCell); for (int i = 0; i < dtProgramSlot.Rows.Count; i++) { tblCell = new TableCell(); tblCell.HorizontalAlign = HorizontalAlign.Left; lblHeader = new Label(); lblHeader.Text = dtProgramSlot.Rows[i]["SlotName"].ToString() + "<br/> (" + dtProgramSlot.Rows[i]["StartTime"].ToString() + " - " + dtProgramSlot.Rows[i]["EndTime"].ToString() + ")"; tblCell.Controls.Add(lblHeader); tblRow.Cells.Add(tblCell); } tblHeader.Rows.Add(tblRow); } if (e.Item.ItemType == GridItemType.Item || e.Item.ItemType == GridItemType.AlternatingItem) { Table tblItem = e.Item.FindControl("tblItem") as Table; tblItem.Width = new Unit("100%"); TableRow tblRow; TableCell tblCell; int scale = (int)(90 / dtProgramSlot.Rows.Count); for (int i = 0; i < dtRoom.Rows.Count; i++) { //Add Rooms tblRow = new TableRow(); tblRow.Width = new Unit("100%"); tblCell = new TableCell(); tblCell.BorderWidth = 1; tblCell.HorizontalAlign = HorizontalAlign.Left; tblCell.Width = new Unit("10%"); Label lblHeader = new Label(); lblHeader.Text = dtRoom.Rows[i]["RoomName"].ToString(); tblCell.Controls.Add(lblHeader); tblRow.Cells.Add(tblCell); //Add Infor for (int j = 0; j < dtProgramSlot.Rows.Count; j++) { dv.RowFilter = "RoomName = '" + dtRoom.Rows[i]["RoomName"].ToString() + "' and SlotsId =" + dtProgramSlot.Rows[j]["SlotsId"].ToString(); tblCell = new TableCell(); tblCell.Width = new Unit(scale.ToString()+"%"); tblCell.HorizontalAlign = HorizontalAlign.Left; if (dv.Count > 0) { DataTable dtInfor = dv.ToTable(true); string strInfor, strGroups = ""; strInfor = dtInfor.Rows[0]["CourseName"].ToString() + "<br/>" + dtInfor.Rows[0]["UserName"].ToString() + "<br/>"; for (int k = 0; k < dtInfor.Rows.Count; k++) { strGroups += dtInfor.Rows[k]["GroupName"].ToString() + "<br/>,"; } strGroups = strGroups.Substring(0, strGroups.Length - 1); strInfor += strGroups; RoomSlot rs = new RoomSlot(); CheckBox chkSelected = new CheckBox(); chkSelected.ID = "chkSelected" + Index.ToString(); rs.Index = Index; rs.RoomId = i; rs.SlotId = j; rs.TermId = StringUtil.IsNullOrEmpty(dtInfor.Rows[0]["TermId"]) ? -1 : int.Parse(dtInfor.Rows[0]["TermId"].ToString()); rs.CourseId = Int32.Parse(dtInfor.Rows[0]["CourseId"].ToString()); this.lstRoomSlot.Add(rs); Index++; tblCell.Controls.Add(chkSelected); Label lb = new Label(); lb.BorderStyle = BorderStyle.None; lb.Text = strInfor; //lb.Attributes["style"] += "cursor:pointer;cursor:hand;"; string msg = ""; msg += "brandid=" + SimpleWebSessionManagement.CurrentBranches + "&"; msg += "programid=" + SimpleWebSessionManagement.CurrentTrainningProgram + "&"; msg += "termid=" + dtInfor.Rows[0]["TermId"].ToString() + "&"; msg += "courseid=" + dtInfor.Rows[0]["CourseId"].ToString() + "&"; msg += "areaid=" + this.AreaId + "&"; msg += "bookdate=" + rdpBookingDate.SelectedDate.Value.ToShortDateString() + "&"; msg += "slotid=" + dtProgramSlot.Rows[j]["SlotsId"].ToString() + "&"; msg += "roomid=" + dtRoom.Rows[i]["id"].ToString() + "&"; msg += "lecturer=" + dtInfor.Rows[0]["UserName"].ToString() + "&"; msg += "courseslot=" + dtInfor.Rows[0]["Course_Slot"].ToString() + "&"; msg += "groups=" + strGroups; lb.BackColor = Color.Transparent; lb.ForeColor = Color.Red; tblCell.Controls.Add(lb); rs.Update = ""; rs.Update += "brandid=" + SimpleWebSessionManagement.CurrentBranches + "&"; rs.Update += "programid=" + SimpleWebSessionManagement.CurrentTrainningProgram + "&"; rs.Update += "termid=" + dtInfor.Rows[0]["TermId"].ToString() + "&"; rs.Update += "courseid=" + dtInfor.Rows[0]["CourseId"].ToString() + "&"; rs.Update += "areaid=" + this.AreaId + "&"; rs.Update += "bookdate=" + rdpBookingDate.SelectedDate.Value.ToShortDateString() + "&"; rs.Update += "slotid=" + dtProgramSlot.Rows[j]["SlotsId"].ToString() + "&"; rs.Update += "roomid=" + dtRoom.Rows[i]["id"].ToString() + "&"; rs.Update += "lecturer=" + dtInfor.Rows[0]["UserName"].ToString() + "&"; rs.Update += "groups=" + strGroups; this.lstRoomSlot.Add(rs); } else { Label lb = new Label(); lb.ForeColor = Color.Green; lb.Text = "Đang trống"; tblCell.Controls.Add(lb); } tblRow.Cells.Add(tblCell); } tblItem.Rows.Add(tblRow); } } }<telerik:RadDatePicker ID="rdpBookingDate" runat="server" AutoPostBack="True" OnSelectedDateChanged="rdpBookingDate_SelectedDateChanged"> <Calendar UseRowHeadersAsSelectors="False" UseColumnHeadersAsSelectors="False" ViewSelectorText="x"> </Calendar> <DateInput DisplayDateFormat="M/d/yyyy" DateFormat="M/d/yyyy" AutoPostBack="True"> </DateInput> <DatePopupButton ImageUrl="" HoverImageUrl=""></DatePopupButton> </telerik:RadDatePicker>protected void rdpBookingDate_SelectedDateChanged(object sender, Telerik.Web.UI.Calendar.SelectedDateChangedEventArgs e) { BindTimeLIne(); }public void BtnDelete_Method(object sender,EventArgs e) { lbMessage.Text = string.Empty; GridDataItem item = rgView.Items[0]; for (int i = 0; i < Index; i++) { CheckBox chk = item.FindControl("chkSelected" + i.ToString()) as CheckBox; if (chk != null & chk.Checked) { string msg = learningActivityModal.DelelteObjectData((DateTime)rdpBookingDate.SelectedDate, ReturnValueWithoutException.ReturnInt(dtRoom.Rows[rs.RoomId]["id"]), ReturnValueWithoutException.ReturnInt(dtProgramSlot.Rows[rs.SlotId]["SlotsId"])); if (msg == FixedVariable.DoneOutPutFromDatabaseAsString) lbMessage.Text += "Delete " + dtRoom.Rows[rs.RoomId]["RoomName"].ToString()+" "+dtProgramSlot.Rows[rs.RoomId]["SlotName"].ToString()+"<br/>"; else lbMessage.Text += msg+"<br/>"; } } BindTimeTable(); } <telerik:RadGrid ID="rgRequirements" runat="server" Width="100px" CellSpacing="0" GridLines="None" EnableEmbeddedSkins="True" Skin="Black" > <MasterTableView AutoGenerateColumns="False"> <NoRecordsTemplate> <asp:Label ID="nocourses" runat="server" Font-Size="16px" Text="No courses are currently selected for this organization."></asp:Label> </NoRecordsTemplate> <Columns> <telerik:GridTemplateColumn HeaderStyle-HorizontalAlign="Center" ><!-- Some Column Definition --> </telerik:GridTemplateColumn> </Columns> </MasterTableView> </telerik:RadGrid>Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Not Page.IsPostBack Then ' Some code omitted. fill_requirements() end if End SubSub fill_requirements() Dim dt As DataTable = New DataTable dt = ThisMethodReallyReturnsData() Me.rgRequirements.DataSource = dt 'Grouping declared here Me.rgRequirements.GroupingEnabled = True Dim groupExpression As GridGroupByExpression = GridGroupByExpression.Parse("Module Group By Module") Me.rgRequirements.MasterTableView.GroupByExpressions.Add(groupExpression) Me.rgRequirements.DataBind() End Sub Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load'No related code End Sub Protected Sub rgRequirements_NeedDataSource(ByVal source As System.Object, ByVal e As Telerik.Web.UI.GridNeedDataSourceEventArgs) LoadGrid() End Sub Protected Sub LoadGrid() ' dtRequirements is a global variable dtRequirements = MethodThatHasDataAsWell() Me.rgRequirements.DataSource = dtRequirements Me.rgRequirements.GroupingEnabled = True Dim groupExpression As GridGroupByExpression = GridGroupByExpression.Parse("Module Group By Module") Me.rgRequirements.MasterTableView.GroupByExpressions.Add(groupExpression) End SubUnhandled exception at line 6, column 74203 in http://localhost:30710/Telerik.Web.UI.WebResource.axd?_TSM_HiddenField_=ctl00_ContentContent_rsmTrainingRequirements_TSM&compress=1&_TSM_CombinedScripts_=;;System.Web.Extensions,+Version=4.0.0.0,+Culture=neutral,+PublicKeyToken=31bf3856ad364e35:en-US:c9cbdec3-c810-4e87-846c-fb25a7c08002:ea597d4b:b25378d2;Telerik.Web.UI,+Version=2013.2.611.40,+Culture=neutral,+PublicKeyToken=121fae78165ba3d4:en-US:8a277cf4-155d-4ba9-b3c0-d6f62646e5f2:16e4e7cd:ed16cbdc:f7645509:583660290x800a138f - Microsoft JScript runtime error: 'undefined' is null or not an objecthttp://demos.telerik.com/aspnet-ajax/treeview/examples/functionality/draganddropnodes/defaultcs.aspx
I am able to produce the drag and drop feature perfectly. However when
I place that same RadTreeView inside of a multipage, the radtreeview
becomes disabled and then I am unable to do anything with this. The
placement of the code is the only thing that changes.
I'm hoping someone has seen this before. My assumption is there is something with the RadPageView that causes the javascript not to find the RadTree. Anybody experiences this before?
var gridId = "<%= My_RadTreeView.ClientID %>";
my guess is the gridId can no longer be found? Any help is welcomed!
I have verified that all the code is placed inside of a RadScriptBlock so if anybody has the answer i'm open!