ASPX和C#代码
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" Runat="Server">
<asp:Chart ID="Chart1" runat="server">
<Series>
<asp:Series Name="Series1" XValueMember="status" YValueMembers="Total">
</asp:Series>
</Series>
<ChartAreas>
<asp:ChartArea Name="ChartArea1">
</asp:ChartArea>
</ChartAreas>
</asp:Chart>
</asp:Content>
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["conn"].ToString());
SqlCommand com = new SqlCommand("select status , Total from ch where id = @id", con);
com.Parameters.AddWithValue("@id", Session["id"]);
DataTable dt = new DataTable();
con.Open();
SqlDataAdapter sqlDa = new SqlDataAdapter(com);
sqlDa.Fill(dt);
if (dt.Rows.Count > 0)
{
Chart1.DataSource = dt;
Chart1.DataBind();
}
else
{
}
con.Close();
}
我正在使用图表类型&#34;列&#34;。
我希望如果数据库中没有数据,那么图表的初始点(0,0)是可见的。这可能...... ???
我正在使用sql server 2008,visual studio 2010 asp.net c#。
答案 0 :(得分:2)
然后您需要在数据表中有一个手动点。在dataadapter填充数据表后,这里修改了代码块:
SqlDataAdapter sqlDa = new SqlDataAdapter(com);
sqlDa.Fill(dt);
if (dt.Rows.Count == 0)
{
DataRow rw = dt.NewRow();
rw["status"] = "";
rw["Total"] = 0;
dt.Rows.Add(rw);
}
Chart1.DataSource = dt;
Chart1.DataBind();
con.Close();
它检查数据表是否有行,如果没有,则添加一个0值。