示例#1
0
        /// <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;
        }
示例#2
0
 /// <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 = "";
            }
        }