3

DropDownListとASP.netで作成されたグラフがあります。その既存のアイテムは、棒グラフと円グラフです。

ドロップダウンリストで選択されている形式でチャートを選択する必要があります。これを行うための可能な方法はありますか??よろしくお願いします....!

私のコーディングは次のとおりです。

<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>
4

2 に答える 2

3

DropDownList同じ関数を使用する場合はコードを使用してください

これが私のコードです:

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;
        }
    }
于 2013-04-03T06:25:16.053 に答える
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;
    }
}
于 2013-02-02T19:29:16.123 に答える