private void ChartDataBinding() { if (DateTime.Parse(enddate.Value).Date >= DateTime.Now.Date) { this.RegisterStartupScript("日期错误", "<script>alert('只能查询当天之前的数据!');</script>"); return; } if (DateTime.Parse(startdate.Value).Date > DateTime.Parse(enddate.Value).Date) { this.RegisterStartupScript("日期错误", "<script>alert('开始时间必须小于结束时间!');</script>"); return; } Code.ReadingRoomStatistics rrsta = new Code.ReadingRoomStatistics(); List <string> roomList = new List <string>(); foreach (System.Web.UI.WebControls.ListItem li in cblreadingroom.Items) { if (li.Selected) { roomList.Add(li.Value); } } if (roomList.Count == 0) { foreach (System.Web.UI.WebControls.ListItem li in cblreadingroom.Items) { roomList.Add(li.Value); } } for (int i = 0; i < roomList.Count; i++) { if (i % 2 == 0) { HtmlTableRow tr = new HtmlTableRow(); tr.Align = "center"; HtmlTableCell td = new HtmlTableCell(); tr.Cells.Add(td); td = new HtmlTableCell(); tr.Cells.Add(td); roomtable.Rows.Add(tr); } roomtable.Rows[i / 2].Cells[i % 2].Controls.Add(rrsta.GetReadingRoomUsageInfo(roomList[i], ddlReaderType.SelectedItem.Value, DateTime.Parse(startdate.Value), DateTime.Parse(enddate.Value))); } //创建表格 }
/// <summary> /// 数据绑定 /// </summary> private void BindGrid() { this.Session["StartDate"] = dpStartDate.SelectedDate.Value; this.Session["EndDate"] = dpEndDate.SelectedDate.Value; this.Session["SelectReaderType"] = ddlreadertype.SelectedValue; this.Session["SelectLogType"] = ddllogtype.SelectedValue; TopListGrid.Title = ddllogtype.SelectedText + "(" + ddlreadertype.SelectedText + ")"; switch ((Code.ReadingRoomStatistics.TopReaderType) int.Parse(ddlreadertype.SelectedValue)) { case Code.ReadingRoomStatistics.TopReaderType.OnlyReader: TopListGrid.Columns[1].Hidden = false; TopListGrid.Columns[2].Hidden = false; TopListGrid.Columns[3].Hidden = false; TopListGrid.Columns[4].Hidden = false; break; case Code.ReadingRoomStatistics.TopReaderType.ReaderDept: TopListGrid.Columns[1].Hidden = true; TopListGrid.Columns[2].Hidden = true; TopListGrid.Columns[3].Hidden = true; TopListGrid.Columns[4].Hidden = false; break; case Code.ReadingRoomStatistics.TopReaderType.ReaderType: TopListGrid.Columns[1].Hidden = true; TopListGrid.Columns[2].Hidden = true; TopListGrid.Columns[3].Hidden = false; TopListGrid.Columns[4].Hidden = true; break; } string sortField = TopListGrid.Columns[TopListGrid.SortColumnIndex].SortField; string sortDirection = TopListGrid.SortDirection; rrsta = new Code.ReadingRoomStatistics(); rrsta.Progress += new Code.ReadingRoomStatistics.EventHanleProgress(rrsta_Progress); DataTable table = rrsta.LogTop((Code.ReadingRoomStatistics.TopLogType) int.Parse(ddllogtype.SelectedValue), (Code.ReadingRoomStatistics.TopReaderType) int.Parse(ddlreadertype.SelectedValue), dpStartDate.SelectedDate.Value.ToShortDateString(), dpEndDate.SelectedDate.Value.ToShortDateString()); DataView TableView = table.DefaultView; TableView.Sort = String.Format("{0} {1}", sortField, sortDirection); this.Session["DataTables"] = table; this.Session["GridData"] = TableView; this.Session["Data_progress"] = "(4/4)查询完成,感谢您的耐心等待!"; }
private void ChartDataBinding() { if (DateTime.Parse(enddate.Value).Date >= DateTime.Now.Date) { this.RegisterStartupScript("日期错误", "<script>alert('只能查询当天之前的数据!');</script>"); return; } if (DateTime.Parse(startdate.Value).Date > DateTime.Parse(enddate.Value).Date) { this.RegisterStartupScript("日期错误", "<script>alert('开始时间必须小于结束时间!');</script>"); return; } SeatManageWebV2.Code.ReadingRoomStatistics rrsta = new Code.ReadingRoomStatistics(); List <string> roomList = new List <string>(); foreach (System.Web.UI.WebControls.ListItem li in cblreadingroom.Items) { if (li.Selected) { roomList.Add(li.Value); } } List <SeatManage.ClassModel.ReadingRoomInfo> rooms = new List <SeatManage.ClassModel.ReadingRoomInfo>(); if (roomList.Count == 0) { List <string> libno = new List <string>(); libno.Add(ddlLibrary.SelectedItem.Value); rooms = SeatManage.Bll.T_SM_ReadingRoom.GetReadingRooms(null, libno, null); } else { rooms = SeatManage.Bll.T_SM_ReadingRoom.GetReadingRooms(roomList, null, null); } SeatManage.ClassModel.ReadingRoomUsageStatistics roomUsage = rrsta.StatisticsSelectAndLeave(rooms, DateTime.Parse(startdate.Value), DateTime.Parse(enddate.Value)); Chart1.Series.Clear(); System.Web.UI.DataVisualization.Charting.Series sers = new System.Web.UI.DataVisualization.Charting.Series(); sers.Name = "EnterOutCount"; sers.Points.DataBindXY(roomUsage.SeatSelect.DefaultView, "SelectType", roomUsage.SeatSelect.DefaultView, "Count"); sers.ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.Pie; sers.ChartArea = "ChartArea1"; sers.IsValueShownAsLabel = true; sers.YValuesPerPoint = 4; Chart1.Series.Add(sers); Chart2.Series.Clear(); System.Web.UI.DataVisualization.Charting.Series serl = new System.Web.UI.DataVisualization.Charting.Series(); serl.Name = "EnterOutCount"; serl.Points.DataBindXY(roomUsage.SeatLeave.DefaultView, "LeaveType", roomUsage.SeatLeave.DefaultView, "Count"); serl.ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.Pie; serl.ChartArea = "ChartArea1"; serl.IsValueShownAsLabel = true; serl.YValuesPerPoint = 4; Chart2.Series.Add(serl); Chart3.Series.Clear(); System.Web.UI.DataVisualization.Charting.Series sert = new System.Web.UI.DataVisualization.Charting.Series(); sert.Name = "EnterOutCount"; sert.Points.DataBindXY(roomUsage.SeatTime.DefaultView, "SeatTime", roomUsage.SeatTime.DefaultView, "Count"); sert.ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.Pie; sert.ChartArea = "ChartArea1"; sert.IsValueShownAsLabel = true; sert.YValuesPerPoint = 4; Chart3.Series.Add(sert); }
private void ChartDataBinding() { if (DateTime.Parse(enddate.Value).Date >= DateTime.Now.Date) { this.RegisterStartupScript("日期错误", "<script>alert('只能查询当天之前的数据!');</script>"); return; } if (DateTime.Parse(startdate.Value).Date > DateTime.Parse(enddate.Value).Date) { this.RegisterStartupScript("日期错误", "<script>alert('开始时间必须小于结束时间!');</script>"); return; } SeatManageWebV2.Code.ReadingRoomStatistics rrsta = new Code.ReadingRoomStatistics(); List <string> roomList = new List <string>(); foreach (System.Web.UI.WebControls.ListItem li in cblreadingroom.Items) { if (li.Selected) { roomList.Add(li.Value); } } librarySeatUsedInfo.ChartAreas[0].AxisX.Interval = 1; librarySeatUsedInfo.ChartAreas[0].AxisX.Title = "时"; librarySeatUsedInfo.ChartAreas[0].AxisX.TitleAlignment = System.Drawing.StringAlignment.Far; librarySeatUsedInfo.ChartAreas[0].AxisX.MajorGrid.LineColor = System.Drawing.Color.WhiteSmoke; librarySeatUsedInfo.ChartAreas[0].AxisY.Title = "人次"; librarySeatUsedInfo.ChartAreas[0].AxisY.TitleAlignment = System.Drawing.StringAlignment.Far; librarySeatUsedInfo.ChartAreas[0].AxisY.MajorGrid.LineColor = System.Drawing.Color.WhiteSmoke; librarySeatUsedInfo.ChartAreas[0].BackColor = System.Drawing.Color.WhiteSmoke; librarySeatUsedInfo.Series.Clear(); if (roomList.Count == 0) { List <string> libno = new List <string>(); libno.Add(ddlLibrary.SelectedItem.Value); DataTable dt = rrsta.StatisticsHoursLibData(libno, DateTime.Parse(startdate.Value), DateTime.Parse(enddate.Value)); DataView dv = dt.DefaultView; if (cbselect.Checked) { System.Web.UI.DataVisualization.Charting.Series ser = new System.Web.UI.DataVisualization.Charting.Series(); ser.Name = "EnterCount"; ser.LegendText = "入座人次"; ser.Points.DataBindXY(dv, "Hour", dv, "EnterCount"); ser.ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.Spline; ser.ChartArea = "ChartArea1"; ser.IsValueShownAsLabel = true; ser.YValuesPerPoint = 4; librarySeatUsedInfo.Series.Add(ser); } if (cbleave.Checked) { System.Web.UI.DataVisualization.Charting.Series serx = new System.Web.UI.DataVisualization.Charting.Series(); serx.Name = "LeaveCount"; serx.LegendText = "离开人次"; serx.Points.DataBindXY(dv, "Hour", dv, "OutCount"); serx.ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.Spline; serx.ChartArea = "ChartArea1"; serx.IsValueShownAsLabel = true; serx.YValuesPerPoint = 4; librarySeatUsedInfo.Series.Add(serx); } if (cbonseat.Checked) { System.Web.UI.DataVisualization.Charting.Series serx = new System.Web.UI.DataVisualization.Charting.Series(); serx.Name = "SeatCount"; serx.LegendText = "在座人数"; serx.Points.DataBindXY(dv, "Hour", dv, "SeatCount"); serx.ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.Spline; serx.ChartArea = "ChartArea1"; serx.IsValueShownAsLabel = true; serx.YValuesPerPoint = 4; librarySeatUsedInfo.Series.Add(serx); } } else { List <SeatManage.ClassModel.ReadingRoomInfo> rooms = SeatManage.Bll.T_SM_ReadingRoom.GetReadingRooms(roomList, null, null); foreach (SeatManage.ClassModel.ReadingRoomInfo room in rooms) { SeatManage.ClassModel.ReadingRoomUsageStatistics roomUsage = rrsta.StatisticsHoursRoomData(room, DateTime.Parse(startdate.Value), DateTime.Parse(enddate.Value)); DataTable dt = roomUsage.StatisticsData; DataView dv = dt.DefaultView; if (cbselect.Checked) { System.Web.UI.DataVisualization.Charting.Series ser = new System.Web.UI.DataVisualization.Charting.Series(); ser.Name = room.No + "EnterCount"; ser.LegendText = room.Name + "入座人次"; ser.Points.DataBindXY(dv, "Hour", dv, "EnterCount"); ser.ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.Spline; ser.ChartArea = "ChartArea1"; ser.IsValueShownAsLabel = true; ser.YValuesPerPoint = 4; librarySeatUsedInfo.Series.Add(ser); } if (cbleave.Checked) { System.Web.UI.DataVisualization.Charting.Series serx = new System.Web.UI.DataVisualization.Charting.Series(); serx.Name = room.No + "LeaveCount"; serx.LegendText = room.Name + "离开人次"; serx.Points.DataBindXY(dv, "Hour", dv, "OutCount"); serx.ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.Spline; serx.ChartArea = "ChartArea1"; serx.IsValueShownAsLabel = true; serx.YValuesPerPoint = 4; librarySeatUsedInfo.Series.Add(serx); } if (cbonseat.Checked) { System.Web.UI.DataVisualization.Charting.Series serx = new System.Web.UI.DataVisualization.Charting.Series(); serx.Name = room.No + "SeatCount"; serx.LegendText = room.Name + "在座人数"; serx.Points.DataBindXY(dv, "Hour", dv, "SeatCount"); serx.ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.Spline; serx.ChartArea = "ChartArea1"; serx.IsValueShownAsLabel = true; serx.YValuesPerPoint = 4; librarySeatUsedInfo.Series.Add(serx); } } } }
private void ChartDataBinding() { if (DateTime.Parse(enddate.Value).Date >= DateTime.Now.Date) { this.RegisterStartupScript("日期错误", "<script>alert('只能查询当天之前的数据!');</script>"); return; } if (DateTime.Parse(startdate.Value).Date > DateTime.Parse(enddate.Value).Date) { this.RegisterStartupScript("日期错误", "<script>alert('开始时间必须小于结束时间!');</script>"); return; } SeatManageWebV5.Code.ReadingRoomStatistics rrsta = new Code.ReadingRoomStatistics(); tl.InnerText = "阅览室进出人次统计(" + rbltype.SelectedItem.Text + ")"; List <string> roomList = new List <string>(); foreach (System.Web.UI.WebControls.ListItem li in cblreadingroom.Items) { if (li.Selected) { roomList.Add(li.Value); } } librarySeatUsedInfo.ChartAreas[0].AxisX.Title = "时间"; librarySeatUsedInfo.ChartAreas[0].AxisX.TitleAlignment = System.Drawing.StringAlignment.Far; librarySeatUsedInfo.ChartAreas[0].AxisX.MajorGrid.LineColor = System.Drawing.Color.WhiteSmoke; librarySeatUsedInfo.ChartAreas[0].AxisY.Title = "人次"; librarySeatUsedInfo.ChartAreas[0].AxisY.TitleAlignment = System.Drawing.StringAlignment.Far; librarySeatUsedInfo.ChartAreas[0].AxisY.MajorGrid.LineColor = System.Drawing.Color.WhiteSmoke; librarySeatUsedInfo.ChartAreas[0].AxisX.LabelStyle.Angle = 50; switch ((SeatManage.ClassModel.StatisticsType) int.Parse(rbltype.SelectedValue)) { case SeatManage.ClassModel.StatisticsType.DayOfWeek: case SeatManage.ClassModel.StatisticsType.DayOfMonth: case SeatManage.ClassModel.StatisticsType.MonthOfYear: librarySeatUsedInfo.ChartAreas[0].AxisX.LabelStyle.Interval = 1; break; case SeatManage.ClassModel.StatisticsType.DayOfYear: librarySeatUsedInfo.ChartAreas[0].AxisX.LabelStyle.Interval = 20; break; case SeatManage.ClassModel.StatisticsType.WeekOfYear: librarySeatUsedInfo.ChartAreas[0].AxisX.LabelStyle.Interval = 4; break; } DataTable dtx = new DataTable(); dtx.Columns.Add("EnterOutCount", typeof(int)); dtx.Columns.Add("AttendanceCount", typeof(string)); dtx.Columns.Add("Room", typeof(string)); librarySeatUsedInfo.ChartAreas[0].BackColor = System.Drawing.Color.WhiteSmoke; librarySeatUsedInfo.Series.Clear(); Dictionary <string, DataTable> dataTables = new Dictionary <string, DataTable>(); if (roomList.Count == 0) { List <string> libno = new List <string>(); libno.Add(ddlLibrary.SelectedItem.Value); SeatManage.ClassModel.ReadingRoomUsageStatistics libUsage = rrsta.StatisticsDayLibData(libno, DateTime.Parse(startdate.Value), DateTime.Parse(enddate.Value), ((SeatManage.ClassModel.StatisticsType) int.Parse(rbltype.SelectedValue))); DataTable dt = libUsage.StatisticsData; DataView dv = dt.DefaultView; dataTables.Add(ddlLibrary.SelectedItem.Text, dt); if (rbleatype.SelectedValue == "EnterOutCount") { System.Web.UI.DataVisualization.Charting.Series ser = new System.Web.UI.DataVisualization.Charting.Series(); ser.Name = "EnterOutCount"; ser.LegendText = "进出人次"; ser.Points.DataBindXY(dv, "Date", dv, "EnterOutCount"); ser.ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.Spline; ser.ChartArea = "ChartArea1"; ser.IsValueShownAsLabel = true; ser.YValuesPerPoint = 4; librarySeatUsedInfo.Series.Add(ser); } else { System.Web.UI.DataVisualization.Charting.Series ser = new System.Web.UI.DataVisualization.Charting.Series(); ser.Name = "AttendanceCount"; ser.LegendText = "上座率"; ser.Points.DataBindXY(dv, "Date", dv, "Attendance"); ser.ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.Spline; ser.ChartArea = "ChartArea1"; ser.IsValueShownAsLabel = true; ser.YValuesPerPoint = 4; librarySeatUsedInfo.Series.Add(ser); } DataRow dr = dtx.NewRow(); dr["Room"] = ddlLibrary.SelectedItem.Text; dr["EnterOutCount"] = libUsage.EnterOurCount; dr["AttendanceCount"] = (libUsage.Attendance * 100).ToString("0.00"); dtx.Rows.Add(dr); } else { List <SeatManage.ClassModel.ReadingRoomInfo> rooms = SeatManage.Bll.ClientConfigOperate.GetReadingRooms(roomList); foreach (SeatManage.ClassModel.ReadingRoomInfo room in rooms) { SeatManage.ClassModel.ReadingRoomUsageStatistics roomUsage = rrsta.StatisticsDayRoomData(room, DateTime.Parse(startdate.Value), DateTime.Parse(enddate.Value), ((SeatManage.ClassModel.StatisticsType) int.Parse(rbltype.SelectedValue))); DataTable dt = roomUsage.StatisticsData; DataView dv = dt.DefaultView; dataTables.Add(room.Name, dt); if (rbleatype.SelectedValue == "EnterOutCount") { System.Web.UI.DataVisualization.Charting.Series ser = new System.Web.UI.DataVisualization.Charting.Series(); ser.Name = room.Name + "EnterOutCount"; ser.LegendText = room.Name + "进出人次"; ser.Points.DataBindXY(dv, "Date", dv, "EnterOutCount"); ser.ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.Spline; ser.ChartArea = "ChartArea1"; ser.IsValueShownAsLabel = true; ser.YValuesPerPoint = 4; librarySeatUsedInfo.Series.Add(ser); } else { System.Web.UI.DataVisualization.Charting.Series ser = new System.Web.UI.DataVisualization.Charting.Series(); ser.Name = room.Name + "AttendanceCount"; ser.LegendText = room.Name + "上座率"; ser.Points.DataBindXY(dv, "Date", dv, "Attendance"); ser.ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.Spline; ser.ChartArea = "ChartArea1"; ser.IsValueShownAsLabel = true; ser.YValuesPerPoint = 4; librarySeatUsedInfo.Series.Add(ser); } DataRow dr = dtx.NewRow(); dr["Room"] = roomUsage.RoomInfo.Name; dr["EnterOutCount"] = roomUsage.EnterOurCount; dr["AttendanceCount"] = (roomUsage.Attendance * 100).ToString("0.00"); dtx.Rows.Add(dr); } } Session["DataTables"] = dataTables; if (rbleatype.SelectedValue == "EnterOutCount") { Span1.Visible = false; Span2.Visible = true; libraryEnterOutInfo.Visible = true; libraryAttendanceInfo.Visible = false; libraryEnterOutInfo.ChartAreas[0].AxisX.Title = "阅览室"; libraryEnterOutInfo.ChartAreas[0].AxisX.TitleAlignment = System.Drawing.StringAlignment.Far; libraryEnterOutInfo.ChartAreas[0].AxisX.MajorGrid.LineColor = System.Drawing.Color.WhiteSmoke; libraryEnterOutInfo.ChartAreas[0].AxisY.Title = "人次"; libraryEnterOutInfo.ChartAreas[0].AxisY.TitleAlignment = System.Drawing.StringAlignment.Far; libraryEnterOutInfo.ChartAreas[0].AxisY.MajorGrid.LineColor = System.Drawing.Color.WhiteSmoke; libraryEnterOutInfo.ChartAreas[0].AxisX.LabelStyle.Angle = 50; libraryEnterOutInfo.ChartAreas[0].BackColor = System.Drawing.Color.WhiteSmoke; libraryEnterOutInfo.ChartAreas[0].AxisX.LabelStyle.Interval = 1; libraryEnterOutInfo.Series.Clear(); System.Web.UI.DataVisualization.Charting.Series sereo = new System.Web.UI.DataVisualization.Charting.Series(); sereo.Name = "EnterOutCount"; sereo.LegendText = "进出人次"; sereo.Points.DataBindXY(dtx.DefaultView, "Room", dtx.DefaultView, "EnterOutCount"); sereo.ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.Column; sereo.ChartArea = "ChartArea1"; sereo["PointWidth"] = "0.1"; sereo.IsValueShownAsLabel = true; sereo.YValuesPerPoint = 4; libraryEnterOutInfo.Series.Add(sereo); } else { libraryEnterOutInfo.Visible = false; libraryAttendanceInfo.Visible = true; Span1.Visible = true; Span2.Visible = false; libraryAttendanceInfo.ChartAreas[0].AxisX.Title = "阅览室"; libraryAttendanceInfo.ChartAreas[0].AxisX.TitleAlignment = System.Drawing.StringAlignment.Far; libraryAttendanceInfo.ChartAreas[0].AxisX.MajorGrid.LineColor = System.Drawing.Color.WhiteSmoke; libraryAttendanceInfo.ChartAreas[0].AxisY.Title = "人次"; libraryAttendanceInfo.ChartAreas[0].AxisY.TitleAlignment = System.Drawing.StringAlignment.Far; libraryAttendanceInfo.ChartAreas[0].AxisY.MajorGrid.LineColor = System.Drawing.Color.WhiteSmoke; libraryAttendanceInfo.ChartAreas[0].AxisX.LabelStyle.Angle = 50; libraryAttendanceInfo.ChartAreas[0].BackColor = System.Drawing.Color.WhiteSmoke; libraryAttendanceInfo.ChartAreas[0].AxisX.LabelStyle.Interval = 1; libraryAttendanceInfo.Series.Clear(); System.Web.UI.DataVisualization.Charting.Series sera = new System.Web.UI.DataVisualization.Charting.Series(); sera.Name = "EnterOutCount"; sera.LegendText = "上座率(%)"; sera.Points.DataBindXY(dtx.DefaultView, "Room", dtx.DefaultView, "AttendanceCount"); sera.ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.Column; sera.Color = System.Drawing.Color.IndianRed; sera.ChartArea = "ChartArea1"; sera["PointWidth"] = "0.1"; sera.IsValueShownAsLabel = true; sera.YValuesPerPoint = 4; libraryAttendanceInfo.Series.Add(sera); } }