ASP.NET图表控件 - 如何创建此条形图?

iam*_*esy 6 vb.net charts asp.net-charts

我想从数据表中获得图表控件.

表格如下:

alt text http://www.freeimagehosting.net/uploads/5d02ce1558.png

我想要的图表看起来像这样:

''' 
''''
'''''       '' '  
'''''       '' '
ECCTMP      ECCTMP       ECCTMP   
Monday      Tuesday      Wednesday
Run Code Online (Sandbox Code Playgroud)

希望这对每天按类型(电子邮件,电话)分组是有意义的.

我现在才确定如何数据绑定?

比利

Nak*_*nch 5

如果您要在条形图中对系列进行分组,则需要使用Chart.DataBindTable方法(MSDN).

只需添加以下代码:

Chart1.DataBindTable(IEtable, "Day");
Run Code Online (Sandbox Code Playgroud)

这将生成一个类似于以下内容的图表: 替代文字

这是一些用作测试的虚拟代码:

DataTable table = new DataTable();
table.Columns.Add("Day", typeof(string));
table.Columns.Add("Email", typeof(int));
table.Columns.Add("Calls", typeof(int));
table.Columns.Add("Contacts", typeof(int));
table.Columns.Add("Tasks", typeof(int));
table.Columns.Add("Meetings", typeof(int));
table.Columns.Add("Proposals", typeof(int));

table.Rows.Add("Monday", 1, 3, 3, 4, 5, 5);
table.Rows.Add("Tuesday", 1,6,8,2,0,3);
table.Rows.Add("Wednesday", 7, 6,3,0,2,1);
table.Rows.Add("Thursday", 1,5,5,9,3,1);
table.Rows.Add("Friday", 4,7,3,5,2,3);

//convert datatable to a IEnumerable form
var IEtable = (table as System.ComponentModel.IListSource).GetList();

//Bind the datatable to the chart using the DataBindTable method
Chart1.DataBindTable(IEtable, "Day");
Run Code Online (Sandbox Code Playgroud)

也可以按照ECCTMP描述的那样显示标签,但添加图例可能看起来更干净.