📄 f_manfile.cs
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Data.OleDb;
using System.Data.SqlClient;
namespace PWMS.PerForm
{
public partial class F_ManFile : Form
{
public F_ManFile()
{
InitializeComponent();
}
#region 当前窗体的所有共公变量
DataClass.MyMeans MyDataClass = new PWMS.DataClass.MyMeans();
ModuleClass.MyModule MyMC = new PWMS.ModuleClass.MyModule();
public static DataSet MyDS_Grid;
public static string tem_Field = "";
public static string tem_Value = "";
public static string tem_ID = "";
public static int hold_n = 0;
public static byte[] imgBytesIn; //用来存储图片的二进制数
public static int Ima_n = 0; //判断是否对图片进行了操作
public static string Part_ID = ""; //存储数据表的ID信息
#endregion
public void ShowData_Image(byte[] DI, PictureBox Ima) //显示数据库图片
{
byte[] buffer = DI;
MemoryStream ms = new MemoryStream(buffer);
Ima.Image = Image.FromStream(ms);
}
#region 显示“职工基本信息”表中的指定记录
/// <summary>
/// 动态读取指定的记录行,并进行显示.
/// </summary>
/// <param name="DGrid">DataGridView控件</param>
/// <returns>返回string对象</returns>
public string Grid_Inof(DataGridView DGrid)
{
byte[] pic; //定义一个字节数组
//当DataGridView控件的记录>1时,将当前行中信息显示在相应的控件上
if (DGrid.RowCount > 1)
{
S_0.Text = DGrid[0, DGrid.CurrentCell.RowIndex].Value.ToString();
S_1.Text = DGrid[1, DGrid.CurrentCell.RowIndex].Value.ToString();
S_2.Text = Convert.ToString(DGrid[2, DGrid.CurrentCell.RowIndex].Value).Trim();
S_3.Text = MyMC.Date_Format(Convert.ToString(DGrid[3, DGrid.CurrentCell.RowIndex].Value).Trim());
S_4.Text = Convert.ToString(DGrid[4, DGrid.CurrentCell.RowIndex].Value).Trim();
S_5.Text = DGrid[5, DGrid.CurrentCell.RowIndex].Value.ToString();
S_6.Text = DGrid[6, DGrid.CurrentCell.RowIndex].Value.ToString();
S_7.Text = DGrid[7, DGrid.CurrentCell.RowIndex].Value.ToString();
S_8.Text = DGrid[8, DGrid.CurrentCell.RowIndex].Value.ToString();
S_9.Text = DGrid[9, DGrid.CurrentCell.RowIndex].Value.ToString();
S_10.Text = MyMC.Date_Format(Convert.ToString(DGrid[10, DGrid.CurrentCell.RowIndex].Value).Trim());
S_11.Text = Convert.ToString(DGrid[11, DGrid.CurrentCell.RowIndex].Value).Trim();
S_12.Text = DGrid[12, DGrid.CurrentCell.RowIndex].Value.ToString();
S_13.Text = DGrid[13, DGrid.CurrentCell.RowIndex].Value.ToString();
S_14.Text = DGrid[14, DGrid.CurrentCell.RowIndex].Value.ToString();
S_15.Text = DGrid[15, DGrid.CurrentCell.RowIndex].Value.ToString();
S_16.Text = DGrid[16, DGrid.CurrentCell.RowIndex].Value.ToString();
S_17.Text = DGrid[17, DGrid.CurrentCell.RowIndex].Value.ToString();
S_18.Text = DGrid[18, DGrid.CurrentCell.RowIndex].Value.ToString();
S_19.Text = DGrid[19, DGrid.CurrentCell.RowIndex].Value.ToString();
S_20.Text = DGrid[20, DGrid.CurrentCell.RowIndex].Value.ToString();
S_21.Text = MyMC.Date_Format(Convert.ToString(DGrid[21, DGrid.CurrentCell.RowIndex].Value).Trim());
S_22.Text = DGrid[22, DGrid.CurrentCell.RowIndex].Value.ToString();
S_23.Text = DGrid[24, DGrid.CurrentCell.RowIndex].Value.ToString();
S_24.Text = DGrid[25, DGrid.CurrentCell.RowIndex].Value.ToString();
S_25.Text = Convert.ToString(DGrid[26, DGrid.CurrentCell.RowIndex].Value).Trim();
S_26.Text = DGrid[27, DGrid.CurrentCell.RowIndex].Value.ToString();
S_27.Text = MyMC.Date_Format(Convert.ToString(DGrid[28, DGrid.CurrentCell.RowIndex].Value).Trim());
S_28.Text = MyMC.Date_Format(Convert.ToString(DGrid[29, DGrid.CurrentCell.RowIndex].Value).Trim());
S_29.Text = Convert.ToString(DGrid[30, DGrid.CurrentCell.RowIndex].Value).Trim();
try
{
//将数据库中的图片存入到字节数组中
pic = (byte[])(MyDS_Grid.Tables[0].Rows[DGrid.CurrentCell.RowIndex][23]);
MemoryStream ms = new MemoryStream(pic); //将字节数组存入到二进制流中
S_Photo.Image = Image.FromStream(ms); //二进制流Image控件中显示
}
catch { S_Photo.Image = null; } //当出现错误时,将Image控件清空
tem_ID = S_0.Text.Trim(); //获取当前职伯编号
return DGrid[1, DGrid.CurrentCell.RowIndex].Value.ToString(); //返回当前职工的姓名
}
else
{
//使用MyMeans公共类中的Clear_Control()方法清空指定控件集中的相应控件
MyMC.Clear_Control(tabControl1.TabPages[0].Controls);
tem_ID = "";
return "";
}
}
#endregion
#region 按条件显示“职工基本信息”表的内容
/// <summary>
/// 通过公共变量动态进行查询.
/// </summary>
/// <param name="C_Value">条件值</param>
public void Condition_Lookup(string C_Value)
{
MyDS_Grid = MyDataClass.getDataSet("Select * from tb_Stuffbusic where " + tem_Field + "='" + tem_Value + "'", "tb_Stuffbusic");
dataGridView1.DataSource = MyDS_Grid.Tables[0];
textBox1.Text = Grid_Inof(dataGridView1); //显示职工信息表的当前记录
}
#endregion
#region 将图片转换成字节数组
public void Read_Image(OpenFileDialog openF, PictureBox MyImage) //
{
openF.Filter = "*.jpg|*.jpg|*.bmp|*.bmp"; //指定OpenFileDialog控件打开的文件格式
if (openF.ShowDialog(this) == DialogResult.OK) //如果打开了图片文件
{
try
{
MyImage.Image = System.Drawing.Image.FromFile(openF.FileName); //将图片文件存入到PictureBox控件中
string strimg = openF.FileName.ToString(); //记录图片的所在路径
FileStream fs = new FileStream(strimg, FileMode.Open, FileAccess.Read); //将图片以文件流的形式进行保存
BinaryReader br = new BinaryReader(fs);
imgBytesIn = br.ReadBytes((int)fs.Length); //将流读入到字节数组中
}
catch
{
MessageBox.Show("您选择的图片不能被读取或文件类型不对!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Warning);
S_Photo.Image = null;
}
}
}
#endregion
private void F_ManFile_Load(object sender, EventArgs e)
{
//用dataGridView1控件显示职工的名称
MyDS_Grid = MyDataClass.getDataSet(DataClass.MyMeans.AllSql, "tb_Stuffbusic");
dataGridView1.DataSource = MyDS_Grid.Tables[0];
dataGridView1.AutoGenerateColumns = true; //是否自动创建列
dataGridView1.Columns[0].Width = 60;
dataGridView1.Columns[1].Width = 80;
for (int i = 2; i < dataGridView1.ColumnCount; i++) //隐藏dataGridView1控件中不需要的列字段
{
dataGridView1.Columns[i].Visible = false;
}
MyMC.MaskedTextBox_Format(S_3); //指定MaskedTextBox控件的格式
MyMC.MaskedTextBox_Format(S_10);
MyMC.MaskedTextBox_Format(S_21);
MyMC.MaskedTextBox_Format(S_27);
MyMC.MaskedTextBox_Format(S_28);
MyMC.CoPassData(S_2, "tb_Folk"); //向“民族类别”列表框中添加信息
MyMC.CoPassData(S_5, "tb_Kultur"); //向"文化程度”列表框中添加信息
MyMC.CoPassData(S_8, "tb_Visage"); //向"正治面貌”列表框中添加信息
MyMC.CoPassData(S_12, "tb_EmployeeGenre"); //向"职工类别”列表框中添加信息
MyMC.CoPassData(S_13, "tb_Business"); //向"职务类别”列表框中添加信息
MyMC.CoPassData(S_14, "tb_Laborage"); //向"工资类别”列表框中添加信息
MyMC.CoPassData(S_15, "tb_Branch"); //向"部门类别”列表框中添加信息
MyMC.CoPassData(S_16, "tb_Duthcall"); //向"职称类别”列表框中添加信息
MyMC.CityInfo(S_23, "select distinct beaware from tb_City", 0);
S_23.AutoCompleteMode = AutoCompleteMode.SuggestAppend; //使S_BeAware控件具有查询功能
S_23.AutoCompleteSource = AutoCompleteSource.ListItems;
textBox1.Text = Grid_Inof(dataGridView1); //显示职工信息表的首记录
DataClass.MyMeans.AllSql = "Select * from tb_Stuffbusic";
}
private void Sut_Add_Click(object sender, EventArgs e)
{
MyMC.Clear_Control(tabControl1.TabPages[0].Controls); //清空职工基本信息的相应文本框
S_0.Text = MyMC.GetAutocoding("tb_Stuffbusic", "ID"); //自动添加编号
hold_n = 1; //用于记录添加操作的标识
MyMC.Ena_Button(Sut_Add, Sut_Amend, Sut_Cancel, Sut_Save, 0, 0, 1, 1);
groupBox5.Text = "当前正在添加信息";
Img_Clear.Enabled = true; //使图片选择按钮为可用状态
Img_Save.Enabled = true;
}
private void S_BeAware_TextChanged(object sender, EventArgs e)
{
S_24.Items.Clear();
MyMC.CityInfo(S_24, "select beaware,city from tb_City where beaware='" + S_23.Text.Trim() + "'", 1);
}
private void tabControl1_Click(object sender, EventArgs e)
{
groupBox5.Enabled = true;
Sut_Delete.Enabled = true;
MyMC.Ena_Button(Sut_Add, Sut_Amend, Sut_Cancel, Sut_Save, 1, 1, 0, 0);
if (tabControl1.SelectedTab.Name == "tabPage1") //如果选择的是“职工基本信息”选项卡
{
hold_n = 0; //恢复原始标识
MyMC.Ena_Button(Sut_Add, Sut_Amend, Sut_Cancel, Sut_Save, 1, 1, 0, 0); //
groupBox5.Text = "";
Ima_n = 0;//标识是否选择了职工照片
Img_Clear.Enabled = false; //使按钮为不可用状态
Img_Save.Enabled = false;
Sub_Table.Enabled = true;
}
//如果选择的是“工作简历”、“家庭关系”、“培训记录”和“奖惩记录”选项卡
if (tabControl1.SelectedTab.Name == "tabPage2" | tabControl1.SelectedTab.Name == "tabPage3" | tabControl1.SelectedTab.Name == "tabPage4" | tabControl1.SelectedTab.Name == "tabPage5")
{
groupBox5.Enabled = false; //使窗体中的操作按钮为不可用状态
Sub_Table.Enabled = false;
if (tabControl1.SelectedTab.Name == "tabPage2") //“工作简历”选项卡
{
groupBox6.Parent = (TabPage)tabPage2;
MyMC.MaskedTextBox_Format(Word_2); //指定MaskedTextBox控件的格式
MyMC.MaskedTextBox_Format(Word_3);
}
if (tabControl1.SelectedTab.Name == "tabPage3") //“家庭关系”选项卡
{
groupBox6.Parent = (TabPage)tabPage3;
MyMC.MaskedTextBox_Format(Famity_4);
}
if (tabControl1.SelectedTab.Name == "tabPage4") //“培训记录”选项卡
{
groupBox6.Parent = (TabPage)tabPage4;
MyMC.MaskedTextBox_Format(TrainNote_3);
MyMC.MaskedTextBox_Format(TrainNote_4);
}
if (tabControl1.SelectedTab.Name == "tabPage5") //“奖惩记录”选项卡
{
groupBox6.Parent = (TabPage)tabPage5;
MyMC.MaskedTextBox_Format(RANDP_3);
MyMC.MaskedTextBox_Format(RANDP_5);
MyMC.CoPassData(RANDP_2, "tb_RPKind"); //向“奖惩类别”列表框中添加信息
}
MyMC.Ena_Button(Part_Add, Part_Amend, Part_Cancel, Part_Save, 1, 1, 0, 0);
}
if (tabControl1.SelectedTab.Name == "tabPage6") //“个人简历”选项卡
{
MyMC.Ena_Button(Sut_Add, Sut_Amend, Sut_Cancel, Sut_Delete, 0, 0, 0, 0); //使窗体中的操作按钮为不可用
Sut_Save.Enabled = true; //将窗体中的“保存”按钮设为可用状态
}
}
private void comboBox1_TextChanged(object sender, EventArgs e)
{
switch (comboBox1.SelectedIndex) //向comboBox2控件中添加相应的查询条件
{
case 0:
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -