I was unsuccessful in changing color of data field during the callback for mail merge region.
How should I initialize the document builder to point at the correct field cell currently being processed in order to set font attributes?
Please review code below. I was assuming that the document builder position is already at the merged field. Thanks.
private void HandleGroupElements()
{
_reportDocument.MailMerge.FieldMergingCallback = new HandleGroupElement(_reportDocument);
dataTable.TableName = element.DataElementName;
_reportDocument.MailMerge.ExecuteWithRegions(dataTable);
}
private class HandleGroupElement: IFieldMergingCallback
{
void IFieldMergingCallback.FieldMerging(FieldMergingArgs e)
{
_mBuilder.Font.Color = Color.Red;
_mBuilder.Font.Bold = true;
_mBuilder.Font.Italic = false;
_mBuilder.Font.Underline = Underline.Single;
}
void IFieldMergingCallback.ImageFieldMerging(ImageFieldMergingArgs e)
{}
internal HandleGroupElement(Document doc)
{
_mBuilder = new DocumentBuilder(doc);
}
private readonly DocumentBuilder _mBuilder;
}