在RDLC报表中是否可以设置默认字体? 我有一个报表,我想改变字体,但我不想在报表的每个元素中都更改它。
在RDLC报表中是否可以设置默认字体? 我有一个报表,我想改变字体,但我不想在报表的每个元素中都更改它。
pivate static void AddFontsToRdlc(string fileName, string defaultFont)
{
if (!File.Exists(fileName))
{
// Report file does not exist
return;
}
XmlDocument document = new XmlDocument();
document.Load(fileName);
string documentNamespace = document.DocumentElement.NamespaceURI;
XmlNodeList nodes = document.GetElementsByTagName("TextRun");
bool foundStyle = false;
bool foundFontFamily = false;
foreach (XmlNode node in nodes)
{
foundStyle = false;
foundFontFamily = false;
foreach (XmlNode childNode in node.ChildNodes)
{
if (childNode.Name == "Style")
{
foundStyle = true;
foreach (XmlNode styleNode in childNode.ChildNodes)
{
if (styleNode.Name == "FontFamily")
{
// Change the font here if changing all fonts to the default font
// Alternatively, specify what font should change to what font with a switch
foundFontFamily = true;
break;
}
}
if (!foundFontFamily)
{
XmlElement fontElement = document.CreateElement("FontFamily", documentNamespace);
fontElement.InnerText = defaultFont;
childNode.AppendChild(fontElement);
}
break;
}
}
if (!foundStyle)
{
XmlNode styleElement = document.CreateElement("Style", documentNamespace);
XmlElement fontElement = document.CreateElement("FontFamily", documentNamespace);
fontElement.InnerText = defaultFont;
styleElement.AppendChild(fontElement);
node.AppendChild(styleElement);
}
}
document.Save(fileName);
}
设计界面没有更改整个报告所使用字体的方法。但是,如果您想要用另一种字体替换某个字体,例如将Tahoma替换为Verdana,则可以打开代码视图(查看 > 代码),然后在那里执行查找和替换操作。
请注意,Arial是Reporting Services报告的默认字体,因此除了Arial之外的字体只在代码中定义。如果您需要从Arial更改为其他字体,则必须在设计程序中手动更改。
前往 工具 > 选项 > 环境 > 字体和颜色,然后将其更改为所需的字体。