作成日: 2024/05/13 最終更新日: 2024/05/13
文書種別
使用方法
詳細
DataTableにデータ連結したとき、その列名にピリオドが含まれているとデータが正しく反映されず、グラフが表示されないことがあります。
(例)
この動作を避けるには、BindingModeを「Direct」に設定します。
(例)
上記設定を含むサンプルコード全体を以下に記載します。

◎サンプルコード(VB)
(例)
var dt = new DataTable();
dt.Columns.AddRange(new[] {
new DataColumn("X", typeof(Int32)),
new DataColumn("Y.1", typeof(Int32)),
});
・・・途中省略・・・
flexChart1.DataSource = dt;
FlexChartのデフォルトの連結モード(BindingModeプロパティで指定)ではCurrencyManagerが使用されますが、そこではピリオドを含む列名がサポートされていないためです。この動作を避けるには、BindingModeを「Direct」に設定します。
(例)
flexChart1.BindingMode = BindingMode.Direct;
上記設定を含むサンプルコード全体を以下に記載します。
◎サンプルコード(VB)
Imports C1.Chart
Imports C1.Win.Chart
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' データの作成
Dim dt = New DataTable()
dt.Columns.AddRange({
New DataColumn("X", GetType(Integer)),
New DataColumn("Y.1", GetType(Integer))
})
For i = 0 To 9
dt.Rows.Add(i, 10 - i)
Next
dt.AcceptChanges()
' チャートの作成
FlexChart1.BindingMode = BindingMode.Direct ' 連結モードの設定
FlexChart1.ChartType = ChartType.Column
FlexChart1.Legend.Position = Position.Top
FlexChart1.BindingX = "X"
FlexChart1.Binding = "Y.1"
FlexChart1.DataSource = dt
End Sub
End Class
◎サンプルコード(C#)
using C1.Chart;
using C1.Win.Chart;
namespace prj_FlexChart
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
// データの作成
var dt = new DataTable();
dt.Columns.AddRange(new[] {
new DataColumn("X", typeof(Int32)),
new DataColumn("Y.1", typeof(Int32))
});
for (var i = 0; i < 10; i++)
{
dt.Rows.Add(i, 10 - i);
}
dt.AcceptChanges();
// チャートの作成
flexChart1.BindingMode = BindingMode.Direct; // 連結モードの設定
flexChart1.ChartType = ChartType.Column;
flexChart1.Legend.Position = Position.Top;
flexChart1.BindingX = "X";
flexChart1.Binding = "Y.1";
flexChart1.DataSource = dt;
}
}
}