/// <summary>
        /// Shows the group member history.
        /// </summary>
        /// <param name="groupMemberId">The group member identifier.</param>
        private void ShowGroupMemberHistory(int groupMemberId)
        {
            var groupMember = new GroupMemberService(new RockContext()).Get(groupMemberId);

            if (groupMember == null)
            {
                this.Visible = false;
                return;
            }

            lGroupTitle.Text            = groupMember.Group.Name.FormatAsHtmlTitle();
            lGroupMemberTitle.Text      = groupMember.ToString().FormatAsHtmlTitle();
            lGroupMemberPreHtml.Visible = true;
            lGroupMemberTitle.Visible   = true;
            lGroupGridTitle.Visible     = false;

            var rockContext    = new RockContext();
            var historyService = new HistoryService(rockContext);

            var additionalMergeFields = new Dictionary <string, object>();

            additionalMergeFields.Add("GroupHistoryGridPage", LinkedPageRoute("GroupHistoryGridPage"));
            additionalMergeFields.Add("GroupMemberHistoryPage", LinkedPageRoute("GroupMemberHistoryPage"));

            string timelineLavaTemplate = this.GetAttributeValue("TimelineLavaTemplate");

            string timelineHtml = historyService.GetTimelineHtml(timelineLavaTemplate, EntityTypeCache.Get <Rock.Model.GroupMember>(), groupMemberId, null, additionalMergeFields);

            lTimelineHtml.Text = "<div class='panel-body'>" + timelineHtml + "</div>";
        }
        /// <summary>
        /// Handles the Click event of the btnPlaceElsewhere control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="RowEventArgs" /> instance containing the event data.</param>
        protected void btnPlaceElsewhere_Click(object sender, RowEventArgs e)
        {
            var rockContext = new RockContext();

            var groupMemberPerson = new GroupMemberService(rockContext).GetPerson(e.RowKeyId);

            if (groupMemberPerson != null)
            {
                hfPlaceElsewhereGroupMemberId.Value = e.RowKeyId.ToString();
                lPlaceElsewhereGroupMemberName.Text = groupMemberPerson.ToString();
                BindPlaceElsewhereTriggerButtons(true);

                mdPlaceElsewhere.Visible = true;
                mdPlaceElsewhere.Show();
            }
        }