2013-02-02 36 views
3

我有一個DropDownList和一個在ASP.net中創建的圖表。它的現有條目是條形圖和餅圖。在DropDownList中更改ASP.net中的圖表類型SelectedIndex更改事件

我需要選擇我的圖表以在DropDownList中選擇的格式。 有沒有什麼辦法可以做到這一點??提前謝謝....!

我的編碼如下。

<asp:DropDownList ID="drpChart" runat="server" AutoPostBack="True" Height="24px" Width="142px"> 
          <asp:ListItem>Bar Chart</asp:ListItem> 
          <asp:ListItem>Pie Chart</asp:ListItem> 
          </asp:DropDownList> 

<asp:Chart ID="Chart2" runat="server" style="margin-left: 40px"> 
        <Series> 
         <asp:Series Name="Series1"> 
         </asp:Series> 
        </Series> 
        <ChartAreas> 
         <asp:ChartArea Name="ChartArea1"> 
         </asp:ChartArea> 
        </ChartAreas> 
       </asp:Chart> 

回答

1

一個簡單的switch語句就可以了:

ASPX:

<asp:DropDownList ID="drpChart" runat="server" AutoPostBack="True" Height="24px" 
    Width="142px"> 
    <asp:ListItem>Bar Chart</asp:ListItem> 
    <asp:ListItem>Pie Chart</asp:ListItem> 
</asp:DropDownList><br /> 
<asp:Chart ID="Chart1" runat="server"> 
    <Series> 
     <asp:Series Name="Series1"> 
     </asp:Series> 
    </Series> 
    <ChartAreas> 
     <asp:ChartArea Name="ChartArea1"> 
     </asp:ChartArea> 
    </ChartAreas> 
</asp:Chart> 

後面的代碼:

protected void Page_Load(object sender, EventArgs e) 
{ 
    var employees = new Dictionary<int, string> 
     { 
      {10, "Product A"},{20, "Product B"},{30, "Product C"} 
     }; 

    foreach (KeyValuePair<int, string> employee in employees) 
    { 
     Chart1.Series[0].Points.AddXY(employee.Value, employee.Key); 
    } 

    string chartType = drpChart.SelectedValue; 
    switch(chartType) 
    { 
     case "Bar Chart": 
      Chart1.Series[0].ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.Bar; 
      break; 
     case "Pie Chart": 
      Chart1.Series[0].ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.Pie; 
      break; 
    } 
} 
+0

這不工作....我不知道什麼是錯誤...它給沒有錯誤,也沒有工作 – Dini88

+0

更改圖表類型的代碼應該位於頁面加載事件中,在if(!Page.Is.PostBack)之外遍歷代碼並查看發生了什麼問題。如果您無法弄清楚,請向我顯示您的代碼後面的頁面,我會幫你 –

3

使用你的代碼中DropDownList事件I U瑟相同功能

這裏是我的代碼:

protected void Dd_Graph_Selection_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     string chartType = Dd_Graph_Selection.SelectedValue; 
     switch (chartType) 
     { 
      case "Column Chart": 
       Chart1.Series[0].ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.Column; 
       break; 
      case "Pie Chart": 
       Chart1.Series[0].ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.Pie; 
       break; 
      case "Bar Chart": 
       Chart1.Series[0].ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.Bar; 
       break; 
      case "BoxPlot Chart": 
       Chart1.Series[0].ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.BoxPlot; 
       break; 
      case "Funnel Chart": 
       Chart1.Series[0].ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.Funnel; 
       break; 
      case "Point Chart": 
       Chart1.Series[0].ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.Point; 
       break; 
      case "Spilinr Chart": 
       Chart1.Series[0].ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.Spline; 
       break; 
      case "Bubble Chart": 
       Chart1.Series[0].ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.Bubble; 
       break; 
     } 
    } 
相關問題