📄 statisticsdataform.cs
字号:
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 + -