2015-10-07 72 views
-1

有谁知道我该如何定位图表中心的页面?图表现在总是出现在页面的左侧。我的图表是在选项卡面板内动态创建的,我希望我的图表位于页面的中心。定位图表在页面中心

这是我的代码:

//Aspx file 
<div> 
      <asp:scriptmanager ID="ScriptManager1" runat="server"> 
      </asp:scriptmanager> 
     </div> 
     <asp:updatepanel ID="UpdatePanel1" runat="server" ScrollBars="Horizontal"> 
      <contenttemplate> 
     <asp:placeholder ID="PlaceHolder1" runat="server"></asp:placeholder> 

      </contenttemplate> 
     </asp:updatepanel> 

//Cs file 
AjaxControlToolkit.TabContainer container = new AjaxControlToolkit.TabContainer(); 
      container.ID = "TabContainer"; 
      container.EnableViewState = false; 
      container.Tabs.Clear(); 

foreach (ListItem item in SelectionListBox.Items) 
     { 
      if (item.Selected) 
      { 
       Label tabContent = new Label(); 
       tabContent.ID = "lbl_tab_"; 
       tabContent.Text += item.Value; 

Chart Chart1 = new Chart(); 
         Chart1.DataSource = dt; 
         Chart1.Width = 715; 
         Chart1.Height = 450; 

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

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

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

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

       AjaxControlToolkit.TabPanel panel = new AjaxControlToolkit.TabPanel(); 
       panel.HeaderText += item.Value; 
       container.Tabs.Add(panel); 
       panel.Controls.Add(tabContent); 
       panel.Controls.Add(Chart1); 
      } 
     } 
     PlaceHolder1.Controls.Add(container); 
    } 

    public AjaxControlToolkit.TabPanel GetManualTab() 
    { 
     AjaxControlToolkit.TabPanel panel = new AjaxControlToolkit.TabPanel(); 
     return panel; 
    } 

感激,如果任何人都可以帮助我在此,非常感谢!

+0

是否有与此相符的html? –

+0

没有html,图表是动态创建的。上面的代码显示了图表的创建过程。 –

+0

@Des是正确的。至少应该有一些容器(div或面板),您将为其添加动态创建的图表控件。请参阅下面的答案。 – niksofteng

回答

0

就以ASPX一个DIV(注意对齐属性)

<div id="divChart" runat="server" align="center" /> 

修改代码隐藏在末尾添加这个(后数据绑定)

divChart.Controls.Add(Chart1); 

这个工程预期在FF和Chrome和IE。

+0

hi @vnikhil,我无法使用您的方法解决此问题,因为我的图表是在选项卡面板中动态创建的。我希望图表位于标签面板的中心。我已更新我的密码,请看看! –

+0

在发布问题时,你不应该这样做吗?这只会导致* answerers *(俚语)混乱。此外我格式化您的代码,然后你更新它,并丢失格式。太恼人了,不是吗? – niksofteng