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 object