在水晶报告中,我想相应地设置字段的对齐方式。我怎么能在运行时做同样的事情?
那很好。这很有效。谢谢。我做了同样的事,代码如下所示。
var fo = rpt.ReportDefinition.ReportObjects["InvoiceComment"];
fo.ObjectFormat.HorizontalAlignment = Alignment.LeftAlign;
if (ds.Tables[0].Rows[0].ItemArray[19].ToString() == "Right")
fo.ObjectFormat.HorizontalAlignment = Alignment.RightAlign;
else
if (ds.Tables[0].Rows[0].ItemArray[19].ToString() == "Center")
fo.ObjectFormat.HorizontalAlignment = Alignment.HorizontalCenterAlign;`
但我现在正在经历另一个问题。
FieldObject fo = rpt.ReportDefinition.ReportObjects["InvoiceComment"] as FieldObject;
OR
var fo = rpt.ReportDefinition.ReportObjects["InvCom"];
显示相同的错误“索引超出了数组的范围。” 如果我使用另一个代码而不是它的工作原理。
FieldObject fo = rpt.ReportDefinition.ReportObjects[35] as FieldObject;
如何加强这一点。 在此先感谢。
答案 0 :(得分:3)
要更改字段的水平对齐方式,请按照以下步骤操作:
1)右键单击该字段。
2)点击格式字段选项。
3)选择Common选项卡。
4)单击Horizontal Alignment前面的公式编辑器并添加所需的设置。
5)以下是可用的对齐常数:
crDefaultHorAligned
crLeftAligned
crRightAligned
crCenteredHorizontally
crJustified
根据您的标准使用它。
答案 1 :(得分:0)
:
var field = report.ReportDefinition.ReportObjects["Description1"];
field.ObjectFormat.HorizontalAlignment = Alignment.Justified;
可能的选择:
namespace CrystalDecisions.Shared
{
public enum Alignment
{
DefaultAlign,
LeftAlign,
HorizontalCenterAlign,
RightAlign,
Justified,
Decimal,
}
}
答案 2 :(得分:0)
我使用文本解释= RTF文本并以富文本格式设置值,我的问题解决了......我使用RTF动态设计了更好的水晶报告。