国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

人事管理系統(tǒng)實(shí)現(xiàn)(三)

2019-11-11 05:56:36
字體:
供稿:網(wǎng)友

   主窗體作為與用戶交流的載體,已經(jīng)初步設(shè)計(jì)完成,當(dāng)我們按下某一個(gè)功能按鈕時(shí),能夠得到一個(gè)相應(yīng)功能的窗體,我們暫且稱這些窗體為子窗體。

 設(shè)計(jì)了10個(gè)子窗體來實(shí)現(xiàn)相應(yīng)的功能,將這10個(gè)子窗體放置到PerForm文件夾下,10個(gè)窗體的名字分別為:F_AddressList,F(xiàn)_ClearData,F(xiàn)_Find,F(xiàn)_HaveBack,F(xiàn)_ManFile,F(xiàn)_Stat,F(xiàn)_User,F(xiàn)_UserAdd,F(xiàn)_UserPope,F(xiàn)_WordPad。分別實(shí)現(xiàn)地址查詢,數(shù)據(jù)清除,人事查詢,數(shù)據(jù)庫恢復(fù),認(rèn)識(shí)瀏覽,人事資料統(tǒng)計(jì),用戶資料,添加用戶,用戶權(quán)限設(shè)置和記事本功能。

    這一節(jié),首先設(shè)計(jì)F_AddressList,設(shè)計(jì)按照查詢條件和查詢類型的條件來進(jìn)行查詢,找到所想要的數(shù)據(jù)。其中會(huì)用到SQL查詢的相關(guān)知識(shí),若能補(bǔ)充相關(guān)知識(shí),則對(duì)于理解會(huì)有很大的幫助。

    設(shè)計(jì)界面如下:

窗體中使用Grid'View控件來顯示查詢到的數(shù)據(jù),查詢類型使用一個(gè)ComBox控件來提供用戶選擇查詢類型,利用TextBox控件來接收查詢條件,同時(shí)設(shè)計(jì)了四個(gè)Button按鈕,實(shí)現(xiàn),添加,修改,刪除,退出功能。

     當(dāng)設(shè)計(jì)好界面之后,開始實(shí)現(xiàn)各個(gè)功能:

    1. 定義兩個(gè)實(shí)例化的對(duì)象,MyClass和MyModule

[csharp] view plain copy

DataClass.MyMeans MyDataClass = new DataClass.MyMeans();  ModuleClass.MyModule MyMC = new ModuleClass.MyModule();  

    聲明一個(gè)DataSet“數(shù)據(jù)容器”,用來通過SqlDataReader類查詢結(jié)果

[csharp] view plain copypublic static DataSet MyDS_Grid;  

   //查詢得到tb_AddressBook表中所有項(xiàng),實(shí)現(xiàn)對(duì)信息的添加等操作

[csharp] view plain copypublic static string AllSql = "Select ID,Name as 姓名, Sex as 性別 , Phone as電話,WordPhone as 工作電話,Handset as 手機(jī), QQ as QQ號(hào),E_Mail as 郵箱地址 from tb_AddressBook";  

        //Find_Field-->存放查詢字段,對(duì)應(yīng)于TextBox控件

[csharp] view plain copypublic static string Find_Field = "";  

       2.當(dāng)窗體生成時(shí)需要調(diào)用窗體的LOAD事件,完成相應(yīng)的工作,其需要調(diào)用一個(gè)showAll()方法,此方法的調(diào)用及設(shè)計(jì)如下:[csharp] view plain copypublic void ShowAll()  {      ModuleClass.MyModule.Address_ID = "";      //用dataGridView控件顯式職工姓名      MyDS_Grid = MyDataClass.GetDataSet(AllSql, "tb_AddressBook");      //設(shè)置控件的數(shù)據(jù)來源,datasoursce      dataGridView1.DataSource = MyDS_Grid.Tables[0];      //設(shè)置第一列不可見      dataGridView1.Columns[0].Visible = false;          //根據(jù)查詢結(jié)果實(shí)現(xiàn)對(duì)Button控制其是否可以使用      if (dataGridView1.RowCount > 1)      {          Address_Amend.Enabled = true;          Address_Delete.Enabled = false;          }      else      {          Address_Amend.Enabled = false;          Address_Delete.Enabled = false;          }  }  

        load事件中調(diào)用showAll()方法:

[csharp] view plain copyPRivate void F_AddressList_Load(object sender, EventArgs e)  {      ShowAll();  }  

      3.當(dāng)點(diǎn)擊查詢按鈕時(shí),則需要進(jìn)行查詢操作,通過實(shí)現(xiàn)Button的Click事件來完成功能的實(shí)現(xiàn):

[csharp] view plain copyprivate void button5_Click(object sender, EventArgs e)  {      //判斷查詢條件是否為空      if (textBox1.Text == "")      {          MessageBox.Show("請(qǐng)輸入查詢條件。");          return;      }      ModuleClass.MyModule.Address_ID = "";      //使用datagridview來顯示職工的名稱      MyDS_Grid = MyDataClass.GetDataSet(AllSql + " where " + Find_Field + " like '%" + textBox1.Text.Trim() + "%'", "tb_AddressBook");      dataGridView1.DataSource = MyDS_Grid.Tables[0];      dataGridView1.Columns[0].Visible = false;      //當(dāng)查詢結(jié)果存在      if (dataGridView1.RowCount > 1)      {          Address_Amend.Enabled = true;          Address_Delete.Enabled = true;      }      else      {          Address_Amend.Enabled = false;          Address_Delete.Enabled = false;          }  }  

       4.而ComBox控件中所設(shè)計(jì)的查詢條件選擇實(shí)現(xiàn)代碼如下:

[csharp] view plain copyprivate void comboBox1_TextChanged(object sender, EventArgs e)  {      //設(shè)置查詢類型條件的ComBox控件來實(shí)現(xiàn)按照條件來進(jìn)行查詢      switch (((ComboBox)sender).SelectedIndex)      {          case 0:              {                  Find_Field = "Name";                  break;              }          case 1:              {                  Find_Field = "Sex";                  break;                }          case 2:              {                  Find_Field = "E_Mail";                  break;              }      }  }  

       5.當(dāng)點(diǎn)擊全部按鈕時(shí),其Click事件相應(yīng)的代碼為:

[csharp] view plain copyprivate void button1_Click(object sender, EventArgs e)  {      ShowAll();  }  

       6.當(dāng)我們需要向這個(gè)表中添加數(shù)據(jù)時(shí),則需要點(diǎn)擊“添加按鈕”,這是觸發(fā)的Click事件相應(yīng)的代碼為:

[csharp] view plain copyprivate void Address_Add_Click(object sender, EventArgs e)  {      //此時(shí)需要調(diào)用另一個(gè)窗體,這個(gè)窗體將在后面的文章中詳解其實(shí)現(xiàn)過程。      InfoAddForm.F_Address FrmAddress = new InfoAddForm.F_Address();      FrmAddress.Text = "通訊錄添加操作";      FrmAddress.Tag = 1;      FrmAddress.ShowDialog(this);      ShowAll();  }  

       7.當(dāng)點(diǎn)擊修改按鈕時(shí),則實(shí)現(xiàn)對(duì)已有的數(shù)據(jù)進(jìn)行修改,其也是通過點(diǎn)擊按鈕,觸發(fā)此按鈕的Click事件來實(shí)現(xiàn)功能:

[csharp] view plain copyprivate void Address_Amend_Click(object sender, EventArgs e)  {      //調(diào)用F_Address窗體修改通訊錄信息,同一個(gè)窗體,不同的使用方式      InfoAddForm.F_Address FrmAddress = new InfoAddForm.F_Address();      FrmAddress.Text = "通訊錄修改操作";      FrmAddress.Tag = 2;      FrmAddress.ShowDialog(this);      ShowAll();  }  

     8.當(dāng)點(diǎn)擊刪除按鈕時(shí),則實(shí)現(xiàn)了對(duì)已有數(shù)據(jù)進(jìn)行刪除的操作,其Click事件實(shí)現(xiàn)代碼如下:

[csharp] view plain copyprivate void Address_Delete_Click(object sender, EventArgs e)  {      if (MessageBox.Show("確定要?jiǎng)h除該條信息嗎?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)      {          MyDataClass.GetA_M_D_command("Delete tb_AddressBook where ID='" + ModuleClass.MyModule.Address_ID + "'");          ShowAll();      }  }  

          點(diǎn)擊退出時(shí),則需要補(bǔ)充一句 this.Clsoe();就可以了。

       9.然而,真正顯示給我們查詢結(jié)果的是GridView控件,在這里實(shí)現(xiàn)了其cell enter事件:

[csharp] view plain copyprivate void dataGridView1_CellEnter(object sender, DataGridViewCellEventArgs e)  {      if (dataGridView1.RowCount > 1)      {          ModuleClass.MyModule.Address_ID = dataGridView1[0, dataGridView1.CurrentCell.RowIndex].Value.ToString();          Address_Amend.Enabled = true;          Address_Delete.Enabled = true;      }      else      {          Address_Amend.Enabled = false;          Address_Delete.Enabled = false;      }  }  

      到此,窗體的設(shè)計(jì)基本完成,下節(jié)將設(shè)計(jì)F_ClearData窗體。


上一篇:IO流家族

下一篇:1063. Set Similarity (25)

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 宜城市| 丹东市| 措美县| 塘沽区| 岑巩县| 大冶市| 图们市| 苍山县| 五莲县| 洛阳市| 开远市| 长阳| 文水县| 象山县| 沁水县| 社会| 长宁县| 邵东县| 肃南| 攀枝花市| 周口市| 博野县| 小金县| 花莲市| 绿春县| 泸水县| 仲巴县| 哈巴河县| 淮北市| 青阳县| 泽库县| 滨州市| 杭锦后旗| 宜川县| 米泉市| 济阳县| 富宁县| 呼伦贝尔市| 呼伦贝尔市| 酉阳| 呼伦贝尔市|