使用 C1Report 控件 > 修改字段 > 修改字段的大小来创建柱状图(Bar Chart) |
这是最复杂的一个例子。除了以文本形式显示字段值以外,你还可以改变字段的大小来创建一个图表。
如果要创建图表,你首先要做的是确定图表的比例,也就是用于确定图表中最大最小值的度量方法。在“销售图表”报表中有一个字段就是用来实现这个目的的。有个名为SaleAmountMaxFld的页脚字段,包含了你想要画到图表上的最长的那条图形的值,它带有如下表达式:
=Max([SaleAmount])
通过设置SaleAmountMaxFld字段的的Text属性,来设置图表的最大值。输入如下代码:
Visual Basic
Visual Basic |
拷贝代码
|
---|---|
SaleAmountMaxFld.Text = "Max([SaleAmount])" |
C#
C# |
拷贝代码
|
---|---|
SaleAmountMaxFld.Text = "Max([SaleAmount])"; |
通过设置SaleAmountMaxFld字段的的Text属性,来设置图表的最大值。完整步骤如下:
=Max([SaleAmount])
为了绘制柱状图,报表中包含一个名为BarFld的详情字段,该字段被格式化显示为实心的矩形。在Detail区域的OnPrint属性上,带有如下脚本:BarFld.Width = SaleAmountMaxFld.Width * (SaleAmountFld / SaleAmountMaxFld)
这个表达式根据相关字段的宽度和值,以及当前记录的SaleAmountFld 字段的值来计算柱状条的宽度。
使用代码:
通过设置OnPrint属性来绘制柱状图。请输入如下代码:
Visual Basic
Visual Basic |
拷贝代码
|
---|---|
c1r.Sections.Detail.OnPrint = & _ "BarFld.Width = SaleAmountMaxFld.Width * " & _ "(SaleAmountFld / SaleAmountMaxFld)" |
C#
C# |
拷贝代码
|
---|---|
c1r.Sections.Detail.OnPrint = + "BarFld.Width = SaleAmountMaxFld.Width * " + "(SaleAmountFld / SaleAmountMaxFld)"; |
使用C1报表设计器:
通过设置OnPrint属性来绘制柱状图。完整步骤如下:
1. 从设计器的属性窗口下拉列表中选择Detail 。这样会显示出该Detail区域的全部可用属性
2. 点击OnPrint 属性旁边的空白框,然后点击下拉箭头,从列表中选择脚本编辑器(Script Editor)
3. 在VBScript编辑器中,直接输入下方的脚本代码:
BarFld.Width = SaleAmountMaxFld.Width * (SaleAmountFld / SaleAmountMaxFld)
下方的截图显示了带有该显示效果的“销售图表”报表的一部分
如果要查看完整的“销售图表”报表,你可以在ComponentOne 范例文件夹内的NorthWind 范例中查看报表定义文件Nwind.xml。