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

首頁 > 學院 > 開發設計 > 正文

人事管理系統實現(三)

2019-11-11 04:49:01
字體:
來源:轉載
供稿:網友

   主窗體作為與用戶交流的載體,已經初步設計完成,當我們按下某一個功能按鈕時,能夠得到一個相應功能的窗體,我們暫且稱這些窗體為子窗體。

 設計了10個子窗體來實現相應的功能,將這10個子窗體放置到PerForm文件夾下,10個窗體的名字分別為:F_AddressList,F_ClearData,F_Find,F_HaveBack,F_ManFile,F_Stat,F_User,F_UserAdd,F_UserPope,F_WordPad。分別實現地址查詢,數據清除,人事查詢,數據庫恢復,認識瀏覽,人事資料統計,用戶資料,添加用戶,用戶權限設置和記事本功能。

    這一節,首先設計F_AddressList,設計按照查詢條件和查詢類型的條件來進行查詢,找到所想要的數據。其中會用到SQL查詢的相關知識,若能補充相關知識,則對于理解會有很大的幫助。

    設計界面如下:

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

     當設計好界面之后,開始實現各個功能:

    1. 定義兩個實例化的對象,MyClass和MyModule

[csharp] view plain copy

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

    聲明一個DataSet“數據容器”,用來通過SqlDataReader類查詢結果

[csharp] view plain copypublic static DataSet MyDS_Grid;  

   //查詢得到tb_AddressBook表中所有項,實現對信息的添加等操作

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

        //Find_Field-->存放查詢字段,對應于TextBox控件

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

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

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

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

      3.當點擊查詢按鈕時,則需要進行查詢操作,通過實現Button的Click事件來完成功能的實現:

[csharp] view plain copyprivate void button5_Click(object sender, EventArgs e)  {      //判斷查詢條件是否為空      if (textBox1.Text == "")      {          MessageBox.Show("請輸入查詢條件。");          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;      //當查詢結果存在      if (dataGridView1.RowCount > 1)      {          Address_Amend.Enabled = true;          Address_Delete.Enabled = true;      }      else      {          Address_Amend.Enabled = false;          Address_Delete.Enabled = false;          }  }  

       4.而ComBox控件中所設計的查詢條件選擇實現代碼如下:

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

       5.當點擊全部按鈕時,其Click事件相應的代碼為:

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

       6.當我們需要向這個表中添加數據時,則需要點擊“添加按鈕”,這是觸發的Click事件相應的代碼為:

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

       7.當點擊修改按鈕時,則實現對已有的數據進行修改,其也是通過點擊按鈕,觸發此按鈕的Click事件來實現功能:

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

     8.當點擊刪除按鈕時,則實現了對已有數據進行刪除的操作,其Click事件實現代碼如下:

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

          點擊退出時,則需要補充一句 this.Clsoe();就可以了。

       9.然而,真正顯示給我們查詢結果的是GridView控件,在這里實現了其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;      }  }  

      到此,窗體的設計基本完成,下節將設計F_ClearData窗體。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 磴口县| 金堂县| 梨树县| 哈密市| 青海省| 景洪市| 衢州市| 百色市| 喜德县| 尉氏县| 杭州市| 延川县| 利津县| 黔江区| 弥渡县| 桃源县| 新乐市| 新化县| 衡南县| 金堂县| 玉山县| 安达市| 石嘴山市| 新余市| 视频| 都匀市| 桐乡市| 买车| 江阴市| 景谷| 平南县| 资中县| 邯郸县| 宜兰市| 额敏县| 徐州市| 吴川市| 江门市| 大理市| 中超| 阜新市|