C# 使用区块时返回true
我正在尝试使用chunk来加粗我的字体。但特别的是,我的标签写在datareader中的addcell下 这就是我试图在datareader中格式化标签的方式C# 使用区块时返回true,c#,asp.net,pdf,format,itextsharp,C#,Asp.net,Pdf,Format,Itextsharp,我正在尝试使用chunk来加粗我的字体。但特别的是,我的标签写在datareader中的addcell下 这就是我试图在datareader中格式化标签的方式 table.AddCell(phrase.Add(new Chunk("test:", normalFont)) + dr[0].ToString()); 这是对短语和字体类型的声明: var normalFont = FontFactory.GetFont(FontFactory.HELVETICA, 12); var phrase
table.AddCell(phrase.Add(new Chunk("test:", normalFont)) + dr[0].ToString());
这是对短语和字体类型的声明:
var normalFont = FontFactory.GetFont(FontFactory.HELVETICA, 12);
var phrase = new Phrase();
这就是正在展示的内容:
然而,在我尝试格式化我的标签之前,它是这样的
在这里,我直接将标签添加到我的表中。AddCell
table.AddCell(dr[0].ToString());
你通过了吗
phrase.Add(new Chunk("test:", normalFont)) + dr[0].ToString()
至表格.AddCell
。此处使用的短语.Add
的重载声明为
public virtual new bool Add(IElement element)
(参见)
因此,phrase.Add(new Chunk(“test:,normalFont))
计算为布尔值true
true + dr[0].ToString()
现在布尔值被转换为字符串本身:
"True" + dr[0].ToString()
在您的示例中,dr[0]。ToString()
似乎包含“admin”
。因此:
"True" + "admin"
从今以后:
"Trueadmin"
当这个字符串
被传递到table.AddCell
时,您将看到所看到的内容
相反,您可能希望按照以下思路做一些事情:
phrase.Add(new Chunk("test:", normalFont));
phrase.Add(dr[0].ToString());
table.AddCell(phrase);
我不明白这个问题,也不明白你的代码为什么要编译。可以在C#中的短语中添加字符串吗?这不应该起作用,是吗?@BrunoLowagie有一个重载public bool Add(String s)
,它本质上添加了一个新块(s,font)。
好的,问题是什么?“我的标签写在datareader中的addcell下”是什么意思?@BrunoLowagie我的意思是“test”之类的词被用作标签,表示“test”显示的值是admin。写在addcell下,因为我写的“标签”是“test”,例如在addcell和datareader方法中。我使用datareader从SQL server读取数据。我不知道这个问题是关于什么的,因为“我的标签写在datareader中的addcell下”。非常感谢它的工作!如果你们中有人知道如何解决我的这个问题,我将不胜感激