62,025
社区成员
发帖
与我相关
我的任务
分享
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="YearChart.aspx.cs" Inherits="Student_Chart_YearChart" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server" layoutH="0">
<div>
<asp:Chart ID="Chart1" runat="server" Width="800px">
<Series>
<asp:Series Name="去年" IsValueShownAsLabel="True" ChartArea="ChartArea1"
Legend="Legend1">
</asp:Series>
<asp:Series ChartArea="ChartArea1" Name="今年" IsValueShownAsLabel="True"
Legend="Legend1">
</asp:Series>
</Series>
<ChartAreas>
<asp:ChartArea Name="ChartArea1">
</asp:ChartArea>
</ChartAreas>
<Legends>
<asp:Legend Alignment="Center" Docking="Bottom" Name="Legend1" Title="招生人数报表">
</asp:Legend>
</Legends>
</asp:Chart>
<br />
<asp:Chart ID="Chart2" runat="server" Width="800px" Height="300px">
<Series>
<asp:Series Name="去年" ChartArea="ChartArea1" Legend="Legend1" IsValueShownAsLabel="True">
</asp:Series>
<asp:Series ChartArea="ChartArea1" Name="今年" Legend="Legend1" IsValueShownAsLabel="True">
</asp:Series>
</Series>
<ChartAreas>
<asp:ChartArea Name="ChartArea1">
</asp:ChartArea>
</ChartAreas>
<Legends>
<asp:Legend Alignment="Center" Docking="Bottom" Name="Legend1" Title="实际收款报表">
</asp:Legend>
</Legends>
</asp:Chart>
</div>
</form>
</body>
</html>
using System;
using System.Linq;
using System.Data;
public partial class Student_Chart_YearChart : System.Web.UI.Page
{
DataClassesDataContext DC = new DataClassesDataContext();
protected void Page_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.Add("Date");
dt.Columns.Add("Volume1");
dt.Columns.Add("Volume2");
DataRow dr;
var result = from s in DC.学生
where s.删除 == false && s.报名时间.Value.Year == DateTime.Now.Year -1
group s by s.报名时间.Value.Month into groups
select new { sj = groups.Key, zs = groups.Count() };
foreach (var stu in result)
{
dr = dt.NewRow();
dr["Date"] = stu.sj + "月";
dr["Volume1"] = stu.zs;
dr["Volume2"] = DC.学生.Where(m => (m.删除 == false && m.报名时间.Value.Year == DateTime.Now.Year && m.报名时间.Value.Month == stu.sj)).Count();
dt.Rows.Add(dr);
}
Chart1.DataSource = dt;
Chart1.Series[0].YValueMembers = "Volume1";
Chart1.Series[1].YValueMembers = "Volume2";
Chart1.Series[0].XValueMember = "Date";
Chart1.DataBind();
Chart1.ChartAreas["ChartArea1"].AxisX.Interval = 1;
DataTable dt2 = new DataTable();
var result2 = DC.学生.Where(m => (m.删除 == false));
dt2.Columns.Add("Date");
dt2.Columns.Add("LastYear");
dt2.Columns.Add("ThisYear");
foreach (var zs in result)
{
dr = dt2.NewRow();
dr["Date"] = zs.sj + "月";
var qnyj1 = result2.Where(m => (m.报名时间.Value.Year == (DateTime.Now.Year - 1) && m.报名时间.Value.Month == zs.sj)).Sum(m => m.已交款);
qnyj1 = qnyj1 == null ? 0 : qnyj1;
var qnyj2 = result2.Where(m => (m.款2日期.Value.Year == (DateTime.Now.Year - 1) && m.款2日期.Value.Month == zs.sj)).Sum(m => m.款2);
qnyj2 = qnyj2 == null ? 0 : qnyj2;
var qnyj3 = result2.Where(m => (m.款3日期.Value.Year == (DateTime.Now.Year - 1) && m.款3日期.Value.Month == zs.sj)).Sum(m => m.款3);
qnyj3 = qnyj3 == null ? 0 : qnyj3;
var qnyj4 = result2.Where(m => (m.款4日期.Value.Year == (DateTime.Now.Year - 1) && m.款4日期.Value.Month == zs.sj)).Sum(m => m.款4);
qnyj4 = qnyj4 == null ? 0 : qnyj4;
dr["LastYear"] = qnyj1 + qnyj2 + qnyj3 + qnyj4;
var jnyj1 = result2.Where(m => (m.报名时间.Value.Year == (DateTime.Now.Year) && m.报名时间.Value.Month == zs.sj)).Sum(m => m.已交款);
jnyj1 = jnyj1 == null ? 0 : jnyj1;
var jnyj2 = result2.Where(m => (m.款2日期.Value.Year == (DateTime.Now.Year) && m.款2日期.Value.Month == zs.sj)).Sum(m => m.款2);
jnyj2 = jnyj2 == null ? 0 : jnyj2;
var jnyj3 = result2.Where(m => (m.款3日期.Value.Year == (DateTime.Now.Year) && m.款3日期.Value.Month == zs.sj)).Sum(m => m.款3);
jnyj3 = jnyj3 == null ? 0 : jnyj3;
var jnyj4 = result2.Where(m => (m.款4日期.Value.Year == (DateTime.Now.Year) && m.款4日期.Value.Month == zs.sj)).Sum(m => m.款4);
jnyj4 = jnyj4 == null ? 0 : jnyj4;
dr["ThisYear"] = jnyj1 + jnyj2 + jnyj3 + jnyj4;
dt2.Rows.Add(dr);
}
Chart2.DataSource = dt2;
Chart2.Series[0].YValueMembers = "LastYear";
Chart2.Series[1].YValueMembers = "ThisYear";
Chart2.Series[0].XValueMember = "Date";
Chart2.DataBind();
Chart2.ChartAreas["ChartArea1"].AxisX.Interval = 1;
}
}