public void DefineOrderBy(Microsoft.Office.Core.CommandBarButton Ctrl, ref bool CancelDefault) { try { DataIntegrationManager bmMgr = new DataIntegrationManager(); Word.Bookmark foreachBm = bmMgr.GetForeachTag(Wkl.MainCtrl.CommonCtrl.CommonProfile.CurrentSelection); List <Word.Bookmark> dataTags = bmMgr.GetInsideBookmarks(foreachBm.Name, foreachBm.Name.Replace(ProntoMarkup.KeyStartForeach, ProntoMarkup.KeyEndForeach)); if (dataTags.Count > 0) { DefineOrderByControl defineOrderByCtrl = new DefineOrderByControl(foreachBm, dataTags); defineOrderByCtrl.ShowDialog(); if (!string.IsNullOrEmpty(defineOrderByCtrl.OrderByValue)) { bmMgr.UpdateBookmarkText(foreachBm, defineOrderByCtrl.OrderByValue); } } } catch { } }
/// <summary> /// Occurs when the selection changes in the active document window. (Inherited from ApplicationEvents4_Event.) /// When user change selection in word document /// </summary> /// <param name="Sel"></param> private void Application_WindowSelectionChange(Word.Selection Sel) { TemplateInfo template = this.TemplateInfo; if (template.IsProntoDoc) { DataIntegrationManager bmMgr = new DataIntegrationManager(); string bmName = bmMgr.HasBookmark(Sel); if (bmMgr.GetForeachTag(Sel) != null) { BaseManager.ChangeOrderByStatus(true); } else { BaseManager.ChangeOrderByStatus(false); } #region update full map TemplateInfo templateInfo = this.TemplateInfo; if (templateInfo.RightPanel != null) { ProntoDocMarkup proMarkupCtrl = templateInfo.RightPanel.Control as ProntoDocMarkup; if (string.IsNullOrEmpty(bmName)) { proMarkupCtrl.UpdateFullMap(null); } else { InternalBookmarkItem iBm = TemplateInfo.InternalBookmark.GetInternalBookmarkItem(bmName); proMarkupCtrl.UpdateFullMap(iBm); } } #endregion } else { BaseManager.ChangeOrderByStatus(false); } }