将图表宽度设置为70%

时间:2015-10-08 00:46:24

标签: javascript c# css asp.net charts

有谁知道如何将图表宽度设置为容器的 70%?我已将容器宽度设置为100%,如下所示:container.Width = Unit.Percentage(100);

这是我的代码:

                    Chart Chart1= new Chart();
                    Chart1.DataSource = dt;
                    Chart1.Width = 800;
                    Chart1.Height = 490;                  

                    Chart1.Series.Add(new Series());
                    Chart1.Series[0].ChartType = SeriesChartType.BoxPlot;
                    List<object> List1 = dt.AsEnumerable().ToList<object>();

                    foreach (DataRow row in dt.Rows)
                        Chart1.Series[0].Points.AddXY(row["STATUS"], new object[] { row["MIN"], row["MAX"], row["25THPERCENTILE"], row["75THPERCENTILE"], row["AVG"], row["50THPRECENTILE"] });

                    //create chartareas
                    ChartArea ca = new ChartArea();
                    ca.AxisX = new Axis();
                    ca.AxisX.MajorGrid.Enabled = false;
                    ca.AxisY = new Axis();
                    ca.AxisY.MajorGrid.Enabled = false;
                    Chart1.ChartAreas.Add(ca);

                    //databind
                    Chart1.DataBind();
                    Chart1.Visible = true;

                    panel.Controls.Add(Chart1);

现在,图表宽度设置为像素。我想将宽度设置为百分比

问题:如何将图表宽度设置为 70%

2 个答案:

答案 0 :(得分:1)

显然Chart控制只接受UnitType.Pixel

这很好用:

 Unit unit1 = new Unit(70, UnitType.Pixel);
 Chart1.Width = unit1;

但是,

 Unit unit2 = new Unit(70, UnitType.Percentage);
 Chart1.Width = unit2;

引发异常:

  

System.ArgumentException未被用户代码处理     的HResult = -2147024809     消息= 图表宽度必须以像素为单位设置。     来源= System.Web.DataVisualization     堆栈跟踪:          在System.Web.UI.DataVisualization.Charting.Chart.set_Width(单位值)          at WebApplication63.WebForm1.Page_Load(Object sender,EventArgs e)位于C:\ Users \ WebApplication63 \ WebApplication63 \ WebForm1.aspx.cs:第16行          在System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender,EventArgs e)          在System.Web.UI.Control.OnLoad(EventArgs e)          在System.Web.UI.Control.LoadRecursive()          在System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint)     InnerException:

答案 1 :(得分:0)

您是否无法为图表指定客户端ID并使用css指定宽度?

<asp:Chart ID="myChart" runat="server" ClientIDMode="Static">

然后在你的CSS中:

#myChart{
    width:70%;
}