有谁知道如何将图表宽度设置为容器的 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%?
答案 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%;
}