0

円グラフを使用しようとしていますが、2 つの地域が表示されることを期待しています。しかし、次のコードでは、最後のコードのみが表示されます。

Code behind:

 protected void Page_Load(object sender, EventArgs e)
    {
        DataTable dt = new DataTable();

        dt.Columns.Add("status");
        dt.Columns.Add("count");

        DataRow dr = dt.NewRow();
        dr["status"] = "safe";
        dr["count"] = loadChart("safe");

        dt.Rows.Add(dr);

        dr["status"] = "unsafe";
       dr["count"] = loadChart("unsafe");

        dr = dt.NewRow();

       dt.Rows.Add(dr);

        Chart1.DataSource = dt;

        Chart1.Series[0].XValueMember = "status";
        Chart1.Series[0].YValueMembers = "count";

        Chart1.DataBind();
    }

マークアップ:

 <asp:Chart ID="Chart1" runat="server">
        <series>
            <asp:Series ChartType="Pie" Name="Series1">
            </asp:Series>

        </series>
        <chartareas>
            <asp:ChartArea Name="ChartArea1">
            </asp:ChartArea>
        </chartareas>
    </asp:Chart>

出力:

ここに画像の説明を入力

安全な部分も見たいです。私には価値があります。この問題を解決するにはどうすればよいですか?

4

1 に答える 1

1

同じ行に値を 2 回設定しています。


DataRow dr = dt.NewRow();
dr["status"] = "safe";
dr["count"] = loadChart("safe");
dt.Rows.Add(dr);
//still in the same row
dr["status"] = "unsafe";
dr["count"] = loadChart("unsafe");
dr = dt.NewRow();
dt.Rows.Add(dr);

新しい行を作成してから、2 番目の値を設定する必要があります。


DataRow dr = dt.NewRow();
dr["status"] = "safe";
dr["count"] = loadChart("safe");
dt.Rows.Add(dr);
//new row creation
dr = dt.NewRow();
dr["status"] = "unsafe";
dr["count"] = loadChart("unsafe");    
dt.Rows.Add(dr);
于 2012-10-01T21:24:29.153 に答える