作成日: 2017/06/29 最終更新日: 2017/12/22
文書種別
不具合
状況
修正済み
詳細
積み上げ縦棒の凡例の上下順とチャートの上下順が逆になります。
【手順】
1.新規フォームにSPREADを配置します
2.下記サンプルコードをコピーし、アプリケーションを実行します
--凡例が上から「S-1」「S-2」の順に、棒グラフは「S-2」「S-1」の順に表示されます
(本来は、SPREADでも凡例が上から「S-2」「S-1」の順に表示されます)
【サンプル】
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Page.IsPostBack Then Return
' データの作成
FpSpread1.ActiveSheetView.SetClipValue(0, 0, 1, 4, "A" + vbTab + "B" + vbTab + "C" + vbTab + "D")
FpSpread1.ActiveSheetView.SetClipValue(1, 0, 1, 4, "50" + vbTab + "50" + vbTab + "50" + vbTab + "t50")
FpSpread1.ActiveSheetView.SetClipValue(2, 0, 1, 4, "100" + vbTab + "100" + vbTab + "100" + vbTab + "100")
' シリーズの作成
Dim series1 As New FarPoint.Web.Chart.BarSeries()
series1.SeriesName = "S-1"
series1.CategoryNames.DataSource = New FarPoint.Web.Spread.Chart.SeriesDataField(FpSpread1, "DataFieldCategoryName", "Sheet1!$A$1:$D$1", FarPoint.Web.Spread.Chart.SegmentDataType.Text)
series1.Values.DataSource = New FarPoint.Web.Spread.Chart.SeriesDataField(FpSpread1, "DataFieldValue", "Sheet1!$A$2:$D$2")
Dim series2 As New FarPoint.Web.Chart.BarSeries()
series2.SeriesName = "S-2"
series2.CategoryNames.DataSource = New FarPoint.Web.Spread.Chart.SeriesDataField(FpSpread1, "DataFieldCategoryName", "Sheet1!$A$1:$D$1", FarPoint.Web.Spread.Chart.SegmentDataType.Text)
series2.Values.DataSource = New FarPoint.Web.Spread.Chart.SeriesDataField(FpSpread1, "DataFieldValue", "Sheet1!$A$3:$D$3")
Dim mainSeries1 As New FarPoint.Web.Chart.StackedBarSeries()
mainSeries1.SeriesName = "Main"
mainSeries1.Series.AddRange(New FarPoint.Web.Chart.BarSeries() {series1, series2})
' プロットエリアの作成
Dim area As New FarPoint.Web.Chart.YPlotArea()
area.Location = New Drawing.PointF(0.1F, 0.1F)
area.Size = New Drawing.SizeF(0.8F, 0.6F)
area.Series.Add(mainSeries1)
' 凡例の設定
Dim legend As New FarPoint.Web.Chart.LegendArea()
legend.Location = New Drawing.PointF(0.995F, 0.5F)
legend.AlignmentX = 1.0F
legend.AlignmentY = 0.5F
' チャートモデルの作成
Dim model As New FarPoint.Web.Chart.ChartModel()
model.PlotAreas.Add(area)
model.LegendAreas.Add(legend)
' チャートの設定
Dim chart As New FarPoint.Web.Spread.Chart.SpreadChart()
chart.Model = model
chart.Width = 400
chart.Height = 200
chart.Left = 0
chart.Top = 100
FpSpread1.ActiveSheetView.Charts.Add(chart)
End Sub
【手順】
1.新規フォームにSPREADを配置します
2.下記サンプルコードをコピーし、アプリケーションを実行します
--凡例が上から「S-1」「S-2」の順に、棒グラフは「S-2」「S-1」の順に表示されます
(本来は、SPREADでも凡例が上から「S-2」「S-1」の順に表示されます)
【サンプル】
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Page.IsPostBack Then Return
' データの作成
FpSpread1.ActiveSheetView.SetClipValue(0, 0, 1, 4, "A" + vbTab + "B" + vbTab + "C" + vbTab + "D")
FpSpread1.ActiveSheetView.SetClipValue(1, 0, 1, 4, "50" + vbTab + "50" + vbTab + "50" + vbTab + "t50")
FpSpread1.ActiveSheetView.SetClipValue(2, 0, 1, 4, "100" + vbTab + "100" + vbTab + "100" + vbTab + "100")
' シリーズの作成
Dim series1 As New FarPoint.Web.Chart.BarSeries()
series1.SeriesName = "S-1"
series1.CategoryNames.DataSource = New FarPoint.Web.Spread.Chart.SeriesDataField(FpSpread1, "DataFieldCategoryName", "Sheet1!$A$1:$D$1", FarPoint.Web.Spread.Chart.SegmentDataType.Text)
series1.Values.DataSource = New FarPoint.Web.Spread.Chart.SeriesDataField(FpSpread1, "DataFieldValue", "Sheet1!$A$2:$D$2")
Dim series2 As New FarPoint.Web.Chart.BarSeries()
series2.SeriesName = "S-2"
series2.CategoryNames.DataSource = New FarPoint.Web.Spread.Chart.SeriesDataField(FpSpread1, "DataFieldCategoryName", "Sheet1!$A$1:$D$1", FarPoint.Web.Spread.Chart.SegmentDataType.Text)
series2.Values.DataSource = New FarPoint.Web.Spread.Chart.SeriesDataField(FpSpread1, "DataFieldValue", "Sheet1!$A$3:$D$3")
Dim mainSeries1 As New FarPoint.Web.Chart.StackedBarSeries()
mainSeries1.SeriesName = "Main"
mainSeries1.Series.AddRange(New FarPoint.Web.Chart.BarSeries() {series1, series2})
' プロットエリアの作成
Dim area As New FarPoint.Web.Chart.YPlotArea()
area.Location = New Drawing.PointF(0.1F, 0.1F)
area.Size = New Drawing.SizeF(0.8F, 0.6F)
area.Series.Add(mainSeries1)
' 凡例の設定
Dim legend As New FarPoint.Web.Chart.LegendArea()
legend.Location = New Drawing.PointF(0.995F, 0.5F)
legend.AlignmentX = 1.0F
legend.AlignmentY = 0.5F
' チャートモデルの作成
Dim model As New FarPoint.Web.Chart.ChartModel()
model.PlotAreas.Add(area)
model.LegendAreas.Add(legend)
' チャートの設定
Dim chart As New FarPoint.Web.Spread.Chart.SpreadChart()
chart.Model = model
chart.Width = 400
chart.Height = 200
chart.Left = 0
chart.Top = 100
FpSpread1.ActiveSheetView.Charts.Add(chart)
End Sub
回避方法
Service Pack 2(v10.0.4005.2013)で修正済み。
旧文書番号
40782