问题:C#Chart控件自动添加Series;结果:图形组件Chart动态添加Series
Chart1.DataSource = dtb;
string[] strcolor = new string[20];
strcolor[0] = "220, 224, 64, 10";
strcolor[1] = "220, 252, 180, 65";
strcolor[2] = "220, 159, 100, 100";
strcolor[3] = "220, 5, 100, 146";
strcolor[4] = "91,42,0";
strcolor[5] = "19,211,188";
strcolor[6] = "0,93,70";
strcolor[7] = "185,147,240";
strcolor[8] = "194,211,252";
strcolor[9] = "49,0,93";
strcolor[10] = "245,111,5";
strcolor[11] = "203,72,178";
strcolor[12] = "93,93,0";
strcolor[13] = "165,165,147";
strcolor[14] = "124,201,15";
strcolor[15] = "14,112,201";
strcolor[16] = "0,59,93";
strcolor[17] = "5,18,108";
strcolor[18] = "245,15,54";
strcolor[19] = "121,129,234";
Chart1.Series.Clear();
for (int i = 0; i < dt.Rows.Count; i++)
{
Chart1.Series.Add(i.ToString());//添加
Chart1.Series[i.ToString()].ChartType = SeriesChartType.StackedBar;
Chart1.Series[i.ToString()].IsXValueIndexed = true;
Chart1.Series[i.ToString()].XValueMember = "Customer";
Chart1.Series[i.ToString()].YValueMembers = "StickCarQutity" + (i + 1);
Chart1.Series[i.ToString()].LegendText = dt.Rows[i]["level"].ToString();
Chart1.Series[i.ToString()].BorderColor = Color.FromArgb(180, 26, 59, 105);
Chart1.Series[i.ToString()].IsValueShownAsLabel = true;
if (i < 4)
{
string[] number = strcolor[i].ToString().Split(new Char[] { ',' });
int alpha = int.Parse(number[0].ToString());
int red = int.Parse(number[1].ToString());
int green = int.Parse(number[2].ToString());
int blue = int.Parse(number[3].ToString());
Chart1.Series[i.ToString()].Color = Color.FromArgb(alpha, red, green, blue);//颜色赋值
}
else
{
if(3<i&&i<20)
{
string[] number = strcolor[i].ToString().Split(new Char[] { ',' });
int red = int.Parse(number[0].ToString());
int green = int.Parse(number[1].ToString());
int blue = int.Parse(number[2].ToString());
Chart1.Series[i.ToString()].Color = Color.FromArgb(red, green, blue);
}
else
{
}
}
}
Chart1.DataBind();
html
<asp:Chart ID="Chart1" runat="server" DataMember="DefaultView" Height="700px" Width="800px">
<Legends>
<asp:Legend Docking="Top" Name="Default" BackColor="Transparent" Font="Trebuchet MS, 8pt, style=Bold">
</asp:Legend>
</Legends>
<Series>
</Series>
<ChartAreas>
<asp:ChartArea Name="ChartArea1" IsSameFontSizeForAllAxes="True">
<AxisX LabelAutoFitMaxFontSize="8" LabelAutoFitMinFontSize="5" IsReversed="True">
<LabelStyle Font="Microsoft Sans Serif, 8pt" Interval="1" IntervalType="Auto" />
<ScaleBreakStyle CollapsibleSpaceThreshold="10" LineColor="Transparent" BreakLineStyle="None" />
<MinorGrid Interval="1" IntervalOffset="1" Enabled="False" />
<MajorGrid Interval="Auto" Enabled="False" />
<MajorTickMark Interval="Auto" Enabled="False" />
<MinorTickMark Interval="1" Enabled="False" />
</AxisX>
<AxisY LabelAutoFitMaxFontSize="8" LabelAutoFitMinFontSize="5">
<LabelStyle Interval="Auto" IntervalType="Auto" />
</AxisY>
<AxisX2 LabelAutoFitMaxFontSize="8" LabelAutoFitMinFontSize="5">
<MinorGrid Interval="1" IntervalOffset="1" Enabled="False" />
<MajorGrid Interval="Auto" />
<MajorTickMark Interval="Auto" />
<MinorTickMark Interval="1" Enabled="True" />
<LabelStyle Font="Microsoft Sans Serif, 8pt" />
</AxisX2>
<AxisY2 LabelAutoFitMaxFontSize="8" LabelAutoFitMinFontSize="5">
<LabelStyle Font="Microsoft Sans Serif, 7pt" />
<MajorGrid Enabled="False" />
</AxisY2>
</asp:ChartArea>
</ChartAreas>
</asp:Chart>