图表控件asp.net c#

时间:2014-04-24 15:06:03

标签: c# asp.net

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#。

1 个答案:

答案 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值。