/// <summary> /// Handles the OnFormatDataValue event of the CallbackField control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="CallbackField.CallbackEventArgs"/> instance containing the event data.</param> /// <exception cref="System.NotImplementedException"></exception> protected void FormatGridDataValue(object sender, CallbackField.CallbackEventArgs e) { var fakePerson = new Rock.Model.Person(); fakePerson.GraduationYear = e.DataValue as int?; e.FormattedValue = fakePerson.GradeFormatted; }
/// <summary> /// Handles the OnFormatDataValue event of the gActionsPath control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="CallbackField.CallbackEventArgs"/> instance containing the event data.</param> protected void gActionsPath_OnFormatDataValue(object sender, CallbackField.CallbackEventArgs e) { e.FormattedValue = e.DataValue.ToString(); if (e.FormattedValue.EndsWith("?key={key}")) { e.FormattedValue = e.FormattedValue.Replace("?key={key}", "(id)"); } }
public void OnFormatDataValue(object sender, CallbackField.CallbackEventArgs e) { var callbackField = sender as CallbackField; var groupMemberList = e.DataValue as IEnumerable <GroupTypeAttendanceSummary>; if (callbackField != null) { var values = callbackField.DataFormatString.Split(','); var type = (ColumnType)Enum.Parse(typeof(ColumnType), values[1]); var attendanceSummary = groupMemberList.FirstOrDefault( a => a.GroupTypeId == values[0].AsInteger()); if (attendanceSummary == null) { e.FormattedValue = ""; return; } switch (type) { case ColumnType.CheckinCount: e.FormattedValue = attendanceSummary.CheckInCount.ToString(); break; case ColumnType.HeadCount: e.FormattedValue = attendanceSummary.HeadCount.ToString(); break; case ColumnType.Difference: if (!(attendanceSummary.CheckInCount == 0 || attendanceSummary.HeadCount == 0)) { //Either provide percentage difference or absolute difference if (_calculatePercentageDifference) { var difference = (Math.Abs(attendanceSummary.HeadCount - attendanceSummary.CheckInCount) / Convert.ToDecimal(attendanceSummary.HeadCount) * 100); e.FormattedValue = difference.ToString("#.##") + "%"; } else { e.FormattedValue = Math.Abs(attendanceSummary.HeadCount - attendanceSummary.CheckInCount).ToString(); } } else { e.FormattedValue = "N/A"; } break; default: throw new ArgumentOutOfRangeException(); } } else { e.FormattedValue = ""; } }