2015-10-07 75 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