2013-12-12 55 views
0

我使用折線圖顯示了人們爲明智日期應用的工作數量。ASP.Net Webform折線圖顯示爲空白圖像

我使用折線圖來顯示它

<asp:Chart ID="chrtDateWise" runat="server" Width="500px"> 
     <Series> 
      <asp:Series ChartType="Line" Name="Series1"> 
      </asp:Series> 
     </Series> 
     <ChartAreas> 
      <asp:ChartArea Name="ChartArea1"> 
      </asp:ChartArea> 
     </ChartAreas> 
    </asp:Chart> 

代碼隱藏

protected void ShowDateWise() 
    { 
     String strSql = string.Empty; 
     strSql = "SELECT COUNT(ApplicationDate) AS Total, ApplicationDate FROM [Jobs] GROUP BY ApplicationDate, ApplicationDate order by ApplicationDate "; 

     DataSet ds = DataProvider.Connect_Select(strSql); 

     DataTable dt = ds.Tables[0]; 
     chrtDateWise.DataSource = dt; 
     chrtDateWise.Series["Series1"].XValueMember = "ApplicationDate"; 
     chrtDateWise.Series["Series1"].YValueMembers = "Total"; 

     //chrtDateWise.Series["Series1"]["PieLabelStyle"] = "Outside"; 
     chrtDateWise.Series["Series1"].ToolTip = "#VALY"; 
     chrtDateWise.Series["Series1"].Label = "#VALX"; 
     chrtDateWise.DataBind(); 

    } 

UPDATE:

我改變了我的代碼下面

<asp:Chart ID="chrtDateWise" runat="server" Width="600px"> 
     <Series> 
      <asp:Series ChartType="Line" Name="Series1"> </asp:Series> 
     </Series> 
     <ChartAreas> 
      <asp:ChartArea Name="chrtAreaSupporters"> 
        <AxisY LineColor="White"> 
         <LabelStyle Font="Trebuchet MS, 8.25pt" /> 
         <MajorGrid LineColor="#e6e6e6" /> 
         <MinorGrid Enabled="false" LineColor="#e6e6e6" /> 
        </AxisY> 
        <AxisX LineColor="White"> 
         <LabelStyle Font="Trebuchet MS, 8.25pt" /> 
         <MajorGrid LineColor="#e6e6e6" /> 
         <MinorGrid Enabled="false" LineColor="#e6e6e6" /> 
        </AxisX> 
       </asp:ChartArea> 
     </ChartAreas> 
    </asp:Chart> 



chrtDateWise.Series["Series1"].ChartType = SeriesChartType.Line; 

    chrtDateWise.Series["Series1"].XValueMember = "Total"; 
    chrtDateWise.Series["Series1"].YValueMembers = "ApplicationDate"; 


    chrtDateWise.Series["Series1"].IsValueShownAsLabel = true; 


    chrtDateWise.Series["Series1"].BorderWidth = 3; 
    chrtDateWise.Series["Series1"].Color = System.Drawing.Color.Green; 

    chrtDateWise.Series["Series1"].YAxisType = AxisType.Secondary; 

這是行不通的...

我不確定代碼有什麼問題,因爲查詢從表中獲取數據,除此之外,我能夠顯示餅圖。

我想我搞砸了圖表屬性。

回答

1

有了這樣一個簡單的查詢,你可以做所有下面的代碼:

<asp:Chart ID="Chart1" runat="server" DataSourceID="SqlDataSource1"> 
<Series> 
    <asp:Series Name="Series1" ChartType="Line" XValueMember="Total" 
     YValueMembers="ApplicationDate"> 
    </asp:Series> 
</Series> 
<ChartAreas> 
    <asp:ChartArea Name="ChartArea1"> 
    </asp:ChartArea> 
</ChartAreas> 
</asp:Chart> 
<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
    ConnectionString="yourDbConnectionString" 
    SelectCommand="SELECT COUNT(ApplicationDate) AS Total, ApplicationDate FROM [Jobs] GROUP BY ApplicationDate, ApplicationDate order by ApplicationDate"> 
</asp:SqlDataSource> 

的ConnectionString的是在網絡配置的屬性,並且在VisualStudio的嚮導來寫它,但是這裏有是關於how to write it的指南。

如果需要修改圖表的外觀,你可以在代碼中添加以下或在代碼隱藏一個簡單的foreach循環財產

(codebelow)<asp:Series Name="Series1" ChartType="Line" BorderWidth="3" XValueMember="Total" 
     YValueMembers="orderdate"> 
    </asp:Series> 

(codebehind) 
foreach(Series s in Chart1.Series){ 
    s.BorderWidth=3; 
    s.IsValueShownAsLabel = true; 
    ... 
}