⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 statisticsdataform.cs

📁 c#编写的人事管理系统源码 写得不错 值得收藏
💻 CS
📖 第 1 页 / 共 2 页
字号:
				dt = bb.ExeSQLdt(s + str[i] + "'");
				a1.Add(str[i]);
				a2.Add(dt.Rows.Count);
			}
			ChartData cd = new ChartData(a1,a2);
			return cd;
		}
		#endregion

		#region 返回一个表格统计图的一个表
		private DataTable showTable(ChartData cd)
		{
			int sumData = 0;
			this.dt = new DataTable();
			DataColumn c1 = new DataColumn("项目");
			DataColumn c2 = new DataColumn("数量");
			dt.Columns.Add(c1);
			dt.Columns.Add(c2);
			for(int i = 0 ; i < cd.DataName.Count ; i ++)
			{
			    DataRow dr = dt.NewRow();
				dt.Rows.Add(dr);
				dr["项目"] = cd.DataName[i].ToString();
				dr["数量"] = cd.DataValue[i].ToString();
				sumData += int.Parse(cd.DataValue[i].ToString());
			}
			DataRow dr1 = dt.NewRow();
			dr1["项目"] = "总数量";
			dr1["数量"] = sumData.ToString();
			dt.Rows.Add(dr1);
			return dt;
		}
		#endregion

		#region 当索引改变时发生的事件
		private void listBox1_SelectedIndexChanged(object sender, System.EventArgs e)
		{
			switch(this.listBox1.SelectedIndex.ToString())
			{
				case "0":
				{
					string str = "select * from EmployInfo where eSex='";
					string []ss = new string[2]{"女","男"};
					ChartData chartdata = this.showCol(ss,str,new ArrayList(),new ArrayList());
					this.pictureBox1.Image = PieChart.Render("员工统计图","男女比例",this.pictureBox1.Size.Width,this.pictureBox1.Size.Height,chartdata);
				
					DataTable dt = new DataTable();
					dt = this.showTable(chartdata);
					this.dataGrid1.DataSource = dt.DefaultView;
					File.DataGridStyle(dt,this.dataGrid1,new DataGridTableStyle());
				    break;
				}
				case "1":
				{
					string str = "select * from EmployInfo where eMarriage='";
					string []ss = new string[2]{"未婚","已婚"};
					ChartData chartdata = this.showCol(ss,str,new ArrayList(),new ArrayList());
					this.pictureBox1.Image = PieChart.Render("员工统计图","婚姻比例",568,476,chartdata);
					
					DataTable dt = new DataTable();
					dt = this.showTable(chartdata);
					this.dataGrid1.DataSource = dt.DefaultView;
					File.DataGridStyle(dt,this.dataGrid1,new DataGridTableStyle());
				    break;
				}
				case "2":
				{
					string s = "select * from SectionInfo";
					DataTable table = new DataTable();
					Base bb = new Base();
					table = bb.ExeSQLdt(s);
					string []ss = new string[table.Rows.Count];
					for(int i = 0 ; i < table.Rows.Count ; i ++)
					{
					    ss[i] = table.Rows[i]["sName"].ToString();
					}
					string str = "select EmployInfo.*,SectionInfo.* from SectionInfo,EmployInfo where EmployInfo.eId=SectionInfo.sId and SectionInfo.sName='";
					ChartData chartdata = this.showCol(ss,str,new ArrayList(),new ArrayList());
					this.pictureBox1.Image = PieChart.Render("员工统计图","部门比例",568,476,chartdata);
					
					DataTable dt = new DataTable();
					dt = this.showTable(chartdata);
					this.dataGrid1.DataSource = dt.DefaultView;
					File.DataGridStyle(dt,this.dataGrid1,new DataGridTableStyle());
				    break;
				}
				case "3":
				{
					string s = "select * from JobInfo";
					DataTable table = new DataTable();
				    Base bb = new Base();
					table = bb.ExeSQLdt(s);
					string []ss = new string[table.Rows.Count];
					for(int i = 0 ; i < table.Rows.Count; i ++)
					{
					    ss[i] = table.Rows[i]["JName"].ToString();
					}
					string str = "select EmployInfo.*,JobInfo.* from EmployInfo,JobInfo where EmployInfo.jId=JobInfo.jId and JobInfo.JName='";
					ChartData chartdata = this.showCol(ss,str,new ArrayList(),new ArrayList());
					this.pictureBox1.Image = PieChart.Render("员工统计图","职务比例",568,476,chartdata);
					DataTable dt = new DataTable();
					dt = this.showTable(chartdata);
					this.dataGrid1.DataSource = dt.DefaultView;
					File.DataGridStyle(dt,this.dataGrid1,new DataGridTableStyle());
				    break;
				}
				case "4":
				{
					string s = "select * from Title";
					DataTable table = new DataTable();
					Base bb = new Base();
					table = bb.ExeSQLdt(s);
					string []ss = new string[table.Rows.Count];
					for(int i = 0 ; i < table.Rows.Count ; i ++)
					{
						ss[i] = table.Rows[i]["tName"].ToString();
					}
					string str = "select EmployInfo.*,Title.* from EmployInfo,Title where EmployInfo.tId=Title.tId and Title.tName='";
					ChartData chartdata = this.showCol(ss,str,new ArrayList(),new ArrayList());
					this.pictureBox1.Image = PieChart.Render("员工统计图","职称比例",568,476,chartdata);
					DataTable dt = new DataTable();
					dt = this.showTable(chartdata);
					this.dataGrid1.DataSource = dt.DefaultView;
					File.DataGridStyle(dt,this.dataGrid1,new DataGridTableStyle());
				    break;
				}
				case "5":
				{
					string s = "select * from RaceInfo";
					DataTable table = new DataTable();
					Base bb = new Base();
					table = bb.ExeSQLdt(s);
					string []ss = new string[table.Rows.Count];
					for(int i = 0 ; i < table.Rows.Count ; i ++)
					{
					    ss[i] = table.Rows[i]["rName"].ToString();
					}
					string str = "select EmployInfo.*,RaceInfo.* from EmployInfo,RaceInfo where EmployInfo.rId=RaceInfo.rId and RaceInfo.rName='";
					ChartData chartdata = this.showCol(ss,str,new ArrayList(),new ArrayList());
					this.pictureBox1.Image = PieChart.Render("员工统计图","民族比例",568,476,chartdata);
					DataTable dt = new DataTable();
					dt = this.showTable(chartdata);
					this.dataGrid1.DataSource = dt.DefaultView;
                    File.DataGridStyle(dt,this.dataGrid1,new DataGridTableStyle());
				    break;
				}
				case "6":
				{
					string []ss = new string[4]{"群众","团员","党员","其他"};
					string str = "select * from EmployInfo where eParty='";
					ChartData chartdata = this.showCol(ss,str,new ArrayList(),new ArrayList());
					this.pictureBox1.Image = PieChart.Render("员工统计图","党派比例",568,476,chartdata);
					DataTable dt = new DataTable();
					dt = this.showTable(chartdata);
					this.dataGrid1.DataSource = dt.DefaultView;
					File.DataGridStyle(dt,this.dataGrid1,new DataGridTableStyle());
				    break;
				}
				case "7":
				{
					string []ss = new string[6]{"小学","初中","高中","中专","大专","本科"};
					string str = "select * from EmployInfo where eEdu='";
					ChartData chartdata = this.showCol(ss,str,new ArrayList(),new ArrayList());
					this.pictureBox1.Image = PieChart.Render("员工统计图","学历比例",568,476,chartdata);
					DataTable dt = new DataTable();
					dt = this.showTable(chartdata);
					this.dataGrid1.DataSource = dt.DefaultView;
					File.DataGridStyle(dt,this.dataGrid1,new DataGridTableStyle());
				    break;
				}
				case "8":
				{
					string []ss = new string[4]{"学士","硕士","博士","博士后"};
					string str = "select * from EmployInfo where eDegree='";
					ChartData chartdata = this.showCol(ss,str , new ArrayList(),new ArrayList());
					this.pictureBox1.Image = PieChart.Render("员工统计图","学位比例",568,476,chartdata);
					DataTable dt = new DataTable();
					dt = this.showTable(chartdata);
					this.dataGrid1.DataSource = dt.DefaultView;
					File.DataGridStyle(dt,this.dataGrid1,new DataGridTableStyle());
				    break;
				}
				case "9":
				{
					string []ss = new string[]{"网上应聘","员工介绍","人才市场","猎头公司","学校推荐"};
					string str = "select * from EmployInfo where eEmpDataSource='";
					ChartData chartdata = this.showCol(ss,str , new ArrayList(),new ArrayList());
					this.pictureBox1.Image = PieChart.Render("员工统计图","来源比例",568,476,chartdata);
					DataTable dt = new DataTable();
					dt = this.showTable(chartdata);
					this.dataGrid1.DataSource = dt.DefaultView;
					File.DataGridStyle(dt,this.dataGrid1,new DataGridTableStyle());
				    break;
				}
				case "10":
				{
					string []ss = new string[]{"在职","离职"};
					string str = "select * from EmployInfo where eApp='";
					ChartData chartdata = this.showCol(ss,str , new ArrayList(),new ArrayList());
					this.pictureBox1.Image = PieChart.Render("员工统计图","状态比例",568,476,chartdata);
					DataTable dt = new DataTable();
					dt = this.showTable(chartdata);
					this.dataGrid1.DataSource = dt.DefaultView;
					File.DataGridStyle(dt,this.dataGrid1,new DataGridTableStyle());
				    break;
				}
			}
		}
		#endregion

		//打印饼型统计图
		private void button1_Click(object sender, System.EventArgs e)
		{
		    this.printPreviewDialog1.ShowDialog();
		}

		//打印表格统计图
		private void button2_Click(object sender, System.EventArgs e)
		{
		    this.printPreviewDialog2.ShowDialog();
		}

		//打印饼型统计图
		private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
		{
			Graphics g = e.Graphics;
			g.DrawImage(this.pictureBox1.Image,e.MarginBounds.X,e.MarginBounds.Y,e.MarginBounds.Width,e.MarginBounds.Height);
		}

		//打印表格统计图
		private void printDocument2_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
		{
		    Graphics g = e.Graphics;
			g.DrawString(this.listBox1.SelectedItem.ToString() + "表格统计图",new Font("楷体_GB2312",12),new SolidBrush(Color.Black),e.MarginBounds.Width/2,e.MarginBounds.Top);
            DataGridTableStyle Grid = new DataGridTableStyle();
			this.dataGrid1.TableStyles.Add(Grid);
			float Left = e.MarginBounds.Left + 100;
			float Top = e.MarginBounds.Top + 50;
			for(int i = 0 ; i < Grid.GridColumnStyles.Count ; i ++)
			{  
				g.DrawString(Grid.GridColumnStyles[i].HeaderText,new Font("楷体_GB2312",12),new SolidBrush(Color.Black),Left,Top);
                Left += 300;
			}
			for(int j = 0 ; j < this.dt.Rows.Count ; j ++)
			{
				Left = e.MarginBounds.Left + 100;
				for(int k = 0 ; k < this.dt.Columns.Count ; k ++)
				{
				    g.DrawString(this.dt.Rows[j][k].ToString(),new Font("楷体_GB2312",12),new SolidBrush(Color.Black),Left,Top + 50);
					Left += 300;
				}
				Top += 30;
			}
			if(Top > e.MarginBounds.Bottom)
			{
				e.HasMorePages = true;
			}
			else
			{
				e.HasMorePages = false;
			}
		}

	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -