Hello, Telerik Team.
We ran into a weird problem. The scrolling function does not work properly in IE 11 (I think IT restricts the policy to IE 8 or under in the domain since I did not find any issue in my home laptop IE 11).
Here is the page code.
Back-End C#:
We ran into a weird problem. The scrolling function does not work properly in IE 11 (I think IT restricts the policy to IE 8 or under in the domain since I did not find any issue in my home laptop IE 11).
Here is the page code.
<telerik:RadGrid ID="RotateGrid" Width="950px" runat="server" GridLines="None" AllowPaging="false" AllowSorting="false" PageSize="10" Visible="true" Skin="Vista" HeaderStyle-Font-Bold="true" OnItemDataBound="RotateGrid_ItemDataBound"> <MasterTableView AutoGenerateColumns="False" CommandItemDisplay="None" CurrentResetPageIndexAction="SetPageIndexToFirst" Dir="LTR" Frame="Border" TableLayout="Fixed" HeaderStyle-Font-Bold="true"> <Columns> <telerik:GridBoundColumn DataField="AcademicYear" HeaderText="Academic Year" Visible="True" HeaderStyle-Width="85px"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Period" HeaderText="Period" Visible="True" HeaderStyle-Width="40px"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="StartDate" HeaderText="Start" Visible="True" HeaderStyle-Width="70px" DataFormatString="{0:M/d/yyyy}"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="EndDate" HeaderText="End" Visible="True" HeaderStyle-Width="70px" DataFormatString="{0:M/d/yyyy}"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Preceptor" HeaderText="Preceptor" UniqueName="Preceptor" Visible="True" HeaderStyle-Width="188px"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Preceptor" HeaderText="PreceptorHid" UniqueName="PreceptorHid" Display="false" HeaderStyle-Width="0px"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Rotation" HeaderText="Rotation" UniqueName="Rotation" Visible="True" HeaderStyle-Width="188px"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Rotation" HeaderText="RotationHid" UniqueName="RotationHid" Display="false" HeaderStyle-Width="0px"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Team" HeaderText="Team" Visible="True" HeaderStyle-Width="35px" Display="false"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="HoStatus" HeaderText="HO" Visible="True" HeaderStyle-Width="32px"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="AttStatus" HeaderText="Att" Visible="True" HeaderStyle-Width="32px"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="RotStatus" HeaderText="Rot" Visible="True" HeaderStyle-Width="32px"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="StudentYear" HeaderText="StudentYear" Display="false" HeaderStyle-Width="0px"> </telerik:GridBoundColumn> </Columns> <EditFormSettings> <EditColumn CurrentFilterFunction="NoFilter" FilterListOptions="VaryByDataType"> </EditColumn> </EditFormSettings> </MasterTableView> <ClientSettings> <Scrolling AllowScroll="true" UseStaticHeaders="True" ScrollHeight="370px"></Scrolling> </ClientSettings> </telerik:RadGrid>Back-End C#:
protected void Page_Load(object sender, EventArgs e) { IsValidUser(); using (var context = new CourseInformationDataContext()) { var studentId = (string)Session["StudentID"]; var classMemberList = from cm in context.Class_Members join sm in context.CO_StudentMappings on cm.ID equals sm.WesternU_Id where cm.ID == studentId select new { // use ?? "null coalescing" operator to handle nulls Last = cm.Last ?? "", First = cm.First ?? "", Nickname = cm.Nickname ?? "", PhotoURL = cm.PhotoURL ?? "", StudentID = cm.ID ?? "", Class = cm.Class ?? "", MediTrekId = sm.MediTrek_Id ?? "", }; foreach (var member in classMemberList) { Class.Text = member.Class; StudentId.Text = "WU ID: " + member.StudentID; MediTrekId.Text = "MediTrek ID: " + member.MediTrekId; MediTrekIdHid.Value = member.MediTrekId; LastNameLbl.Text = member.Last.ToString(); // concatenate the names if nickname is present if (!string.IsNullOrEmpty(member.Nickname.ToString())) { FirstNameLbl.Text = member.First.ToString() + " (" + member.Nickname.ToString() + ")"; } else { FirstNameLbl.Text = member.First.ToString(); } StudentImage.ImageUrl = AppSolution.ImageVal(Server, "~/Pics/" + member.PhotoURL.ToString()); if (Session["Demonstration"] == "true") { StudentImage.CssClass = "blurImage"; LastNameLbl.Text = DemoWordsWithGUID(LastNameLbl.Text.Length); FirstNameLbl.Text = DemoWordsWithGUID(FirstNameLbl.Text.Length); StudentId.Text = "WU ID: @123456789"; MediTrekId.Text = "MediTrek ID: 123456"; DemoModeCreator dmc = new DemoModeCreator(); StudentImage.ImageUrl = "~/Pics/" + dmc.DemoImage(member.PhotoURL.ToString()); } } //Rotation Schedule Grid var rotateList = from mts in context.CO_MediTrekEvalStatus join sm in context.CO_StudentMappings on mts.StudentMediTrekId equals sm.MediTrek_Id where sm.WesternU_Id.Equals(studentId) orderby mts.StartDate select mts; RotateGrid.DataSource = rotateList; RotateGrid.DataBind(); } } protected void RadComboBox1_ItemDataBound(object sender, RadComboBoxItemEventArgs e) { CO_MediTrekEvalDetail item = e.Item.DataItem as CO_MediTrekEvalDetail; e.Item.Text = item.FromDate.GetValueOrDefault().ToString("MM/dd/yyyy") + " - " + item.Preceptor + "@" + item.Rotation; e.Item.Value = item.CompositeKey; } protected void RotateGrid_ItemDataBound(object sender, GridItemEventArgs e) { if (e.Item is GridDataItem) { GridDataItem item = (GridDataItem)e.Item; DateTime now = DateTime.Now; DateTime from = Convert.ToDateTime(item["StartDate"].Text); DateTime to = Convert.ToDateTime(item["EndDate"].Text); if (from == null || to == null) return; to = to.AddDays(1); if (now.Ticks >= from.Ticks && now.Ticks <= to.Ticks) { item.BackColor = System.Drawing.Color.LightGreen; } int len = 29; string tx1 = item["Preceptor"].Text; if (tx1.Length > len) item["Preceptor"].Text = "<div onmouseover=\"ShowLongString(this);\" onmouseout=\"ShowShortString(this);\"><span class=\"short\">" + tx1.Substring(0, len) + "...</span><span class=\"long\" style=\"display:none;\">" + tx1 + "</span></div>"; string tx2 = item["Rotation"].Text; if (tx2.Length > len) item["Rotation"].Text = "<div onmouseover=\"ShowLongString(this);\" onmouseout=\"ShowShortString(this);\"><span class=\"short\">" + tx2.Substring(0, len) + "...</span><span class=\"long\" style=\"display:none;\">" + tx2 + "</span></div>"; //DIV block for status AttachStatusDiv(ref item, "HoStatus"); AttachStatusDiv(ref item, "AttStatus"); AttachStatusDiv(ref item, "RotStatus"); } } private void AttachStatusDiv(ref GridDataItem item, string columnName) { //string greenDiv = "<div class=\"rot-done\" title=\"done\"></div>"; string pinkDiv = "<div class=\"rot-due\" title=\"due\"></div>"; string hoStatus = item[columnName].Text.ToLower().Trim(); string compositeKey = ""; switch (columnName) { case "HoStatus": { int sy = 0; try { sy = int.Parse(item["StudentYear"].Text); } catch (Exception) { } // For 4th year evalution, it has mid-term and final two evaluations. if (sy == 4) compositeKey = string.Join("@", MediTrekIdHid.Value, item["PreceptorHid"].Text, "@Mid-Term" + item["StartDate"].Text, item["Period"].Text, AppEnumeration.CO_MT_EVAL_TYPE["pes"]) + "|pes"; else compositeKey = string.Join("@", MediTrekIdHid.Value, item["PreceptorHid"].Text, item["StartDate"].Text, item["Period"].Text, AppEnumeration.CO_MT_EVAL_TYPE["pes"]) + "|pes"; break; } case "AttStatus": { compositeKey = string.Join("@", MediTrekIdHid.Value, item["PreceptorHid"].Text, item["StartDate"].Text, item["Period"].Text, AppEnumeration.CO_MT_EVAL_TYPE["sep"] + "|sep"); break; } case "RotStatus": { compositeKey = string.Join("@", MediTrekIdHid.Value, item["RotationHid"].Text, item["StartDate"].Text, item["Period"].Text, AppEnumeration.CO_MT_EVAL_TYPE["ses"] + "|ses"); break; } default: { break; } } switch (hoStatus) { case "done": item[columnName].Controls.Add(GetDoneButton(compositeKey)); //item[columnName].Text = greenDiv; break; case "due": item[columnName].Text = pinkDiv; break; default: break; } } private RadButton GetDoneButton(string compositeKey) { RadButton btn = new RadButton { Skin = "", Width = new System.Web.UI.WebControls.Unit(12), Height = new System.Web.UI.WebControls.Unit(16), BackColor = System.Drawing.Color.LightGreen, BorderWidth = new System.Web.UI.WebControls.Unit(1), BorderColor = System.Drawing.Color.Black, BorderStyle = System.Web.UI.WebControls.BorderStyle.Solid, ToolTip = "Click to view the detail.", CommandArgument = compositeKey, }; btn.Click += GetDetail; return btn; } protected void GetDetail(object sender, System.EventArgs e) { RadButton btn = sender as RadButton; string[] paras = btn.CommandArgument.Split('|'); string compositeKey = paras[0]; if (!string.IsNullOrEmpty(compositeKey)) { RotationGridPanel.Visible = false; CompositeKeyHid.Value = compositeKey; using (var context = new CourseInformationDataContext()) { var evaluationList = (from ev in context.CO_MediTrekEvalDetails where ev.CompositeKey.Equals(compositeKey) select ev).FirstOrDefault(); if (evaluationList != null) { List<EvaluationModel> list = new List<EvaluationModel>(); string title = ""; switch (paras[1]) { case "pes": { int qc = 7; string[] local = precptEvalsOfStuQuestions6; if (int.Parse(evaluationList.StudentYear) > 2) { qc = 10; local = precptEvalsOfStuQuestions9; } for (int i = 1; i < qc; i++) { EvaluationModel model = new EvaluationModel { Item = local[i - 1], Result = evaluationList.GetType().GetProperty("Q" + i).GetValue(evaluationList) as string, }; list.Add(model); } title = "Preceptor Evaluation of Student"; DescriptionLit.Text = ""; DescriptionLit.Visible = false; if (int.Parse(evaluationList.StudentYear) == 4) { FouthYearSwitch.Items[0].Selected = true; FouthYearSwitch.Visible = true; } else FouthYearSwitch.Visible = false; break; } case "sep": { int qc = 12; string[] local = stuEvalsOfPrecptQuestion11; if (int.Parse(evaluationList.StudentYear) > 2) { qc = 15; local = stuEvalsOfPrecptQuestion14; } for (int i = 1; i < qc; i++) { EvaluationModel model = new EvaluationModel { Item = local[i - 1], Result = evaluationList.GetType().GetProperty("Q" + i).GetValue(evaluationList) as string, }; list.Add(model); } title = "Student Evaluation of Preceptor"; DescriptionLit.Text = "<div style=\"padding-bottom:5px;\"><i>NA = Unable to Assess; 1 = Strongly Disagree; 2 = Disagree; 3 = Agree; 4 = Strongly Agree</i></div>"; DescriptionLit.Visible = true; FouthYearSwitch.Visible = false; break; } case "ses": { int qc = 14; for (int i = 1; i < qc; i++) { EvaluationModel model = new EvaluationModel { Item = stuEvalsOfSiteQuestions[i - 1], Result = evaluationList.GetType().GetProperty("Q" + i).GetValue(evaluationList) as string, }; list.Add(model); } title = "Student Evaluation of Site"; DescriptionLit.Text = "<div style=\"padding-bottom:5px;\"><i>NA = Unable to Assess; 1 = Strongly Disagree; 2 = Disagree; 3 = Agree; 4 = Strongly Agree</i></div>"; DescriptionLit.Visible = true; FouthYearSwitch.Visible = false; break; } default: break; } // Mandatory and General Comments EvaluationModel mc = new EvaluationModel { Item = this.mc, Result = evaluationList.MandatoryComments, }; list.Add(mc); EvaluationModel gc = new EvaluationModel { Item = this.gc, Result = evaluationList.GeneralComments, }; list.Add(gc); RotDetailGrid.Visible = true; RotDetailGrid.DataSource = list; RotDetailGrid.DataBind(); GridTitle.Text = "<b>Type</b>: " + title; DateLit.Text = "<b>Time</b>: " + evaluationList.FromDate.GetValueOrDefault().ToString("MM/dd/yyyy") + " - " + evaluationList.ToDate.GetValueOrDefault().ToString("MM/dd/yyyy"); EvaluatorLit.Text = "<b>Preceptor</b>: " + evaluationList.Preceptor; RotationLit.Text = "<b>Rotation</b>: " + evaluationList.Rotation; ErrorLit.Visible = false; } else { GridTitle.Text = ""; DateLit.Text = ""; EvaluatorLit.Text = ""; RotationLit.Text = ""; RotDetailGrid.Visible = false; ErrorLit.Text = "<div style=\"padding-top:10px;font-size:12px;\"><img src=\"" + Page.ResolveUrl("~/Styles/Images/error.gif") + "\" alt=\"error\" style=\"vertical-align:middle;\"/> We cannot find the evaluation data for you. You may contact <a href=\"mailto:app@westernu.edu?subject=CO MediTrek Data Issue\">app@westernu.edu</a> to check the detail for you.</div>"; ErrorLit.Visible = true; if (compositeKey.IndexOf("Mid-Term") != -1) { FouthYearSwitch.ClearSelection(); FouthYearSwitch.Visible = true; } else FouthYearSwitch.Visible = false; } } RotDetailPanel.Visible = true; } }