1

私は次のように写真を描くためにExcelを使用しています: http://i.stack.imgur.com/hNMKy.png

赤でハイライトされているエリアに注意してください

私の質問は、データテーブルをmschartの凡例にバインドする方法ですか?したがって、凡例の色を除いて、人々は凡例からの詳細データを見ることができます。

または、mschartでバインドすることは可能ですか?前もって感謝します!

4

1 に答える 1

0

私の知る限り、DataTable を凡例に単純に「バインド」できる API はありません。

しかし、いくつかのコードでそのようなものを管理できるはずです:

var l = chart1.Legends[0];
l.LegendStyle = LegendStyle.Table;
l.TableStyle = LegendTableStyle.Tall;
l.BorderColor = Color.OrangeRed;
l.Docking = Docking.Bottom;
l.LegendStyle = LegendStyle.Table;
l.HeaderSeparator = LegendSeparatorStyle.DashLine;
l.HeaderSeparatorColor = Color.Red;

var firstColumn = new LegendCellColumn();
l.ColumnType = LegendCellColumnType.SeriesSymbol;
l.CellColumns.Add(firstColumn);

var secondColumn = new LegendCellColumn();
l.ColumnType = LegendCellColumnType.Text;
secondColumn.Text = "#SER";
l.CellColumns.Add(secondColumn);

foreach (DataRow row in dt.Rows)
{
    var column = new LegendCellColumn();
    column.ColumnType = LegendCellColumnType.Text;
    column.HeaderText = row["x"].ToString();
    column.Text = "#VALY";
    l.CellColumns.Add(column);
}

ただし、グラフ自体の一部としてではなく、別のコントロールにデータを含めることをお勧めします。winforms か webforms かに関係なく、表形式のデータ用の .net コントロールの 1 つに保持すると、作業がはるかに簡単になります。

于 2012-08-15T13:03:15.713 に答える