2014-07-03 23 views
1

我想创建一个按钮点击多列图表。 图表的数据将来自数据库。 我使用了下面的代码。C#中数据库的多列图表

protected void btnEffortProject_Click(object sender, EventArgs e) 
{ 
    string str = System.Configuration.ConfigurationManager.ConnectionStrings["DBConnection"].ToString(); 
    SqlConnection con = new SqlConnection(str); 
    con.Open(); 
    SqlCommand cmd = new SqlCommand("Select Title, Planned_Estimate, TotalEffort from DBAgile.dbo.Project Where Status = 'Completed'", con); 
    SqlDataAdapter sdp = new SqlDataAdapter(cmd); 
    DataSet ds = new DataSet(); 
    sdp.Fill(ds); 

    Chart1.DataSource = ds; 
    Chart1.Series["Series1"].XValueMember = "Title"; 
    Chart1.Series["Series1"].YValueMembers = "Planned_Estimate"; 
    Chart1.Series["Series2"].XValueMember = "Title"; 
    Chart1.Series["Series2"].YValueMembers = "TotalEffort"; 
    Chart1.DataBind(); 
} 

ASPX代码如下:

<asp:Chart ID="Chart1" runat="server" Width="400px" Visible="False"> 
     <Titles> 
      <asp:Title ShadowOffset="3" Name="Items" /> 
     </Titles> 
     <Legends> 
      <asp:Legend Alignment="Center" Docking="Bottom" IsTextAutoFit="False" Name="Default" 
       LegendStyle="Row" /> 
     </Legends> 
     <Series> 
      <asp:Series Name="Series1" XValueMember="Title" YValueMembers="Planned_Estimate" LegendText="Quarter 1" 
       IsValueShownAsLabel="false" ChartArea="ChartArea1" MarkerBorderColor="#DBDBDB"> 
      </asp:Series> 
      <asp:Series Name="Series2" XValueMember="Title" YValueMembers="TotalEffort" LegendText="Quarter 2" 
       IsValueShownAsLabel="false" ChartArea="ChartArea1" MarkerBorderColor="#DBDBDB"> 
      </asp:Series> 
     </Series> 
     <ChartAreas> 
      <asp:ChartArea Name="ChartArea1" BorderWidth="0" /> 
     </ChartAreas> 
    </asp:Chart> 

难道我做错了什么?因为代码运行良好,但不显示任何图表。 我在哪里错了?请帮助

+0

你得到你的数据集中行? –

+0

是的,它给count = 1 – Mayank

回答

1

变化Visible="False"Visible="True"

<asp:Chart ID="Chart1" runat="server" Width="400px" Visible="False"> 
+0

谢谢锡德...愚蠢的错误... :) – Mayank

+0

是的,它发生..;)你可以upvote它吗? –

相关问题