我需要快速支持在radrichtextbox上填充邮件合并数据。在第一步中,我只是填写邮件合并中的数据列表,如“FirstName”,“LastName”,然后我想获得与这些标签相关的数据,例如Firstname = Peter ....请看下面的行码。我的问题是如何在按下预览结果时加载文档上的FirstName,LastName数据。
加载
this.radRichTextBox.Document.MailMergeDataSource.ItemsSource = new List<Employee>()
{
new Employee()
{
FirstName = "Guest1",
LastName = "Guest2",
},
new Employee()
{
FirstName = "Ali",
LastName = "Doc",
}
};
private void btnPrint_Click(object sender, RoutedEventArgs e)
{
//this.radRichTextBox.InsertField(new MergeField() { PropertyPath = "FirstName" });
MergeField field = new MergeField() { PropertyPath = "FirstName" };
field.DisplayMode = FieldDisplayMode.Result;
this.radRichTextBox.Document.ChangeFieldDisplayMode(field.FieldStart, FieldDisplayMode.Result);
}
答案 0 :(得分:0)
您可以使用RadRichTextBox的InsertField方法在RadRichTextBox的RadDocument中插入合并字段:
this.radRichTextBox.InsertField(new MergeField() { PropertyPath = "FirstName" }, FieldDisplayMode.Result);
请注意,插入过程中显示模式设置为FieldDisplayMode.Result
,这将确保使用数据源立即评估字段。
RadRichTextBox中的字段有三种显示模式:Code
,DisplayName
和Result
。如果您已在Code
或DisplayName
模式中插入字段,则可以使用以下方法在以后(插入后)更改文档中所有字段的模式:
this.radRichTextBox.ChangeAllFieldsDisplayMode(FieldDisplayMode.Result);