作成日: 2023/11/30 最終更新日: 2023/11/30
文書種別
使用方法
詳細
FlexPieでは、データ値が0の場合はチャートには扇形(セグメント)が表示されませんが、BindingNameに設定したテキストが凡例として表示されます。しかし、この凡例を非表示にする機能は備えられていません。
代替策として、元のデータを加工し、「0」の項目を除外したデータをFlexPieに設定する方法が考えられます。
以下のサンプルでは、DataViewのRowFilterを使って値が「0」のデータ(名前="D")をフィルターアウトし、DataSourceに設定しています。

◎サンプルコード(VB)
代替策として、元のデータを加工し、「0」の項目を除外したデータをFlexPieに設定する方法が考えられます。
以下のサンプルでは、DataViewのRowFilterを使って値が「0」のデータ(名前="D")をフィルターアウトし、DataSourceに設定しています。
◎サンプルコード(VB)
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' データの作成
Dim dt = New DataTable()
With dt
.Columns.AddRange(
{
New DataColumn("Value", GetType(Int32)),
New DataColumn("Name", GetType(String))
})
.Rows.Add(15, "A")
.Rows.Add(35, "B")
.Rows.Add(20, "C")
.Rows.Add(0, "D")
.AcceptChanges()
End With
'【対応策】[1/2]
Dim dv = dt.DefaultView
dv.RowFilter = "Value 0"
' 円グラフの作成
With FlexPie1
.Binding = "Value"
.BindingName = "Name"
'.DataSource = dt
.DataSource = dv '【対応策】[2/2]
.ToolTip.Content = "値={value}"
Console.WriteLine($"{ .GetType().BaseType}")
End With
End Sub
End Class
◎サンプルコード(C#)
namespace prj_C1FlexPie
{
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("Value", typeof(int)), new DataColumn("Name", typeof(string)) });
dt.Rows.Add(15, "A");
dt.Rows.Add(35, "B");
dt.Rows.Add(20, "C");
dt.Rows.Add(0, "D");
dt.AcceptChanges();
// 【対応策】[1/2]
var dv = dt.DefaultView;
dv.RowFilter = "Value 0";
// 円グラフの作成
{
flexPie1.Binding = "Value";
flexPie1.BindingName = "Name";
// flexPie1.DataSource = dt
flexPie1.DataSource = dv; // 【対応策】[2/2]
flexPie1.ToolTip.Content = "値={value}";
}
}
}
}