void InitializeRichEdit(object ds) { RichEditMailMergeOptions options = richEdit.Options.MailMerge; options.DataSource = null; options.DataSource = ds; options.ViewMergedData = true; }
private void PopulatePopupMenu() { RichEditMailMergeOptions mailMergeOptions = RichEditControl.Options.MailMerge; DataBindingController mergeFieldsController = new DataBindingController(mailMergeOptions.DataSource, mailMergeOptions.DataMember); List <string> columnNames = mergeFieldsController.ColumnNames; Dictionary <string, BarSubItem> subItems = new Dictionary <string, BarSubItem>(); for (int i = 0; i < columnNames.Count; i++) { string fullColumnName = columnNames[i]; int dotIndex = fullColumnName.IndexOf('.'); if (dotIndex == -1) { InsertMergeFieldMenuItem item = new CustomInsertMergeFieldMenuItem(RichEditControl, new MergeFieldName(fullColumnName)); this.popupMenu.ItemLinks.Add(item); } else { string groupName = fullColumnName.Substring(0, dotIndex); string columnName = fullColumnName.Substring(groupName.Length + 1); if (!subItems.ContainsKey(groupName)) { BarSubItem subItem = new BarSubItem(); subItem.Caption = groupName; subItems.Add(groupName, subItem); this.popupMenu.ItemLinks.Add(subItem); } InsertMergeFieldMenuItem item = new CustomInsertMergeFieldMenuItem(RichEditControl, new MergeFieldName(fullColumnName, columnName)); subItems[groupName].ItemLinks.Add(item); } } }