与DataItem功能相似,XyDataItem标签的作用在于它能获取XyDataSeries中的某个值,并在图表上将这个值表现出来。
表 33.80. 构件信息
| Component Type | org.operamasks.faces.graph.XYDataItem |
| Component Family | org.operamasks.faces.graph.DataItem |
| Component Class | org.operamasks.faces.component.graph.UIXYDataItem |
| Tag Class | org.operamasks.faces.webapp.graph.XYDataItemTag |
+java.lang.Object
++javax.faces.component.UIComponent
+++javax.faces.component.UIComponentBase
++++org.operamasks.faces.component.graph.UIDataItem
+++++org.operamasks.faces.component.graph.UIXYDataItem
表 33.81. 属性
| binding | 定义类 | javax.faces.component.UIComponentBase | ||
| 类型 | javax.el.ValueExpression(javax.faces.component.UIComponent) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 一个值表达式,用于把该组件链接到一个ManagedBean的某个属性。 | ||||
| color | 定义类 | org.operamasks.faces.component.graph.UIDataItem | ||
| 类型 | javax.el.ValueExpression(java.lang.Object) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定构件描绘图形的颜色 | ||||
| drawItemLabel | 定义类 | org.operamasks.faces.component.graph.UIDataItem | ||
| 类型 | javax.el.ValueExpression(java.lang.Boolean) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定是否显示数据值,默认值是false | ||||
| drawLines | 定义类 | org.operamasks.faces.component.graph.UIDataItem | ||
| 类型 | javax.el.ValueExpression(boolean) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定是否描绘数据间的连线,默认值时true,此属性只会在构件包含在LineChart或CurveChart构件里才有效 | ||||
| drawMarkers | 定义类 | org.operamasks.faces.component.graph.UIDataItem | ||
| 类型 | javax.el.ValueExpression(boolean) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定构件是否显示数据点标记,默认值时false,此属性只会在构件包含在LineChart或CurveChart构件里才有效 | ||||
| drawOutline | 定义类 | org.operamasks.faces.component.graph.UIDataItem | ||
| 类型 | javax.el.ValueExpression(boolean) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定是否显示图例的图标边框,默认值是true | ||||
| fillMarkers | 定义类 | org.operamasks.faces.component.graph.UIDataItem | ||
| 类型 | javax.el.ValueExpression(boolean) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定构件显示数据点标记时,标记是否被填充,默认值是true | ||||
| id | 定义类 | javax.faces.component.UIComponentBase | ||
| 类型 | java.lang.String | |||
| 是否必须 | 否 | 延时求值 | 否 | |
| 这个组件的组件标识符。这个值在最近的命名容器类型的父组件范围内,必须是唯一的。 | ||||
| itemLabelColor | 定义类 | org.operamasks.faces.component.graph.UIDataItem | ||
| 类型 | javax.el.ValueExpression(java.lang.Object) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定数据值的颜色 | ||||
| itemLabelFont | 定义类 | org.operamasks.faces.component.graph.UIDataItem | ||
| 类型 | javax.el.ValueExpression(java.lang.Object) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定数据值的字体 | ||||
| legend | 定义类 | org.operamasks.faces.component.graph.UIDataItem | ||
| 类型 | javax.el.ValueExpression(java.lang.String) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定图例名称 | ||||
| lineStyle | 定义类 | org.operamasks.faces.component.graph.UIDataItem | ||
| 类型 | javax.el.ValueExpression(org.operamasks.faces.component.graph.LineStyleType) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定数据间连线的样式 | ||||
| lineWidth | 定义类 | org.operamasks.faces.component.graph.UIDataItem | ||
| 类型 | javax.el.ValueExpression(java.lang.Float) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定数据间连线的宽度,此属性只会在构件包含在LineChart或CurveChart构件里才有效 | ||||
| markerFillColor | 定义类 | org.operamasks.faces.component.graph.UIDataItem | ||
| 类型 | javax.el.ValueExpression(java.lang.Object) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定填充数据点标记的颜色 | ||||
| outlineColor | 定义类 | org.operamasks.faces.component.graph.UIDataItem | ||
| 类型 | javax.el.ValueExpression(java.lang.Object) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定图例的图标边框颜色 | ||||
| rendered | 定义类 | javax.faces.component.UIComponentBase | ||
| 类型 | boolean(boolean) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 一个标志,指出该组件是否要在任何随后的form提交过程中被渲染或处理。 这个属性的缺省值是true。 | ||||
| showLegend | 定义类 | org.operamasks.faces.component.graph.UIDataItem | ||
| 类型 | javax.el.ValueExpression(boolean) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定否显示图例,默认值是false | ||||
| x | 定义类 | org.operamasks.faces.component.graph.UIXYDataItem | ||
| 类型 | javax.el.ValueExpression(java.lang.Object) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定数据的X坐标值(OperaMasks 2.0之前的版本中使用此属性,从OperaMaslks 2.0开始的版本中应该使用下面的xValue属性代替此属性) | ||||
| xValue | 定义类 | org.operamasks.faces.component.graph.UIXYDataItem | ||
| 类型 | javax.el.ValueExpression(java.lang.Object) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定数据的X坐标值 | ||||
| y | 定义类 | org.operamasks.faces.component.graph.UIXYDataItem | ||
| 类型 | javax.el.ValueExpression(java.lang.Object) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定数据的Y坐标值(OperaMasks 2.0之前的版本中使用此属性,从OperaMaslks 2.0开始的版本中应该使用下面的yValue属性代替此属性) | ||||
| yValue | 定义类 | org.operamasks.faces.component.graph.UIXYDataItem | ||
| 类型 | javax.el.ValueExpression(java.lang.Object) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 指定数据的Y坐标值 | ||||
以下的例子介绍了g:xyDataItem标签常用方法,在这个例子里定义了4条不同样式的折线,读者可以通过这个例子仔细体会线条样式的不同之处:
<g:lineChart title="XY Line Chart Demo" xAxisLabel="X" yAxisLabel="Y" showLegend="true">
<g:xyDataSeries value="#{XYData}" var="xy">
<g:xyDataItem legend="Random 1" x="#{xy[0].x}" y="#{xy[0].y}" lineStyle="Dot" />
<g:xyDataItem legend="Random 2" x="#{xy[1].x}" y="#{xy[1].y}" lineStyle="Dash" />
<g:xyDataItem legend="Random 3" x="#{xy[2].x}" y="#{xy[2].y}" lineStyle="DashDot" />
<g:xyDataItem legend="Random 4" x="#{xy[3].x}" y="#{xy[3].y}" lineStyle="DashDotDot" />
</g:xyDataSeries>
</g:lineChart>