用户
 找回密码
 立即注册

40

主题

340

帖子

1446

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1446
发表于 2016-2-26 10:21:18
       上周coms管理系统的请假功能已经完成,这周开始就来做日报、周报、月报功能。首先日报、周报、月报功能要和coms管理系统的其他功能风格的一致,比如上周提到的请假功能。

      现在先来做日报功能。首先先建一个日报录入功能界面,将界面的背景颜色 设置为淡灰色WhiteSmoke,并设置界面的标题和标题背景颜色。


     日报录入用到了lable、textbox、button、PopList和DatePicker控件,并分别对控件进行简单布局。一个日报录入界面就设计好了。
        

    在日报录入界面的底部还设置了一个返回和数据保存按钮



      日报编辑和日报详细界面也是一样的,下面为大家展示日报编辑和日报详细界面

   





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
使用道具 举报 回复
发表于 2016-2-26 10:50:48
      在日报录入界面审阅人是可选择可输入的,如何写选择事件了。在点击审阅人按钮事件中一定要加选择项数据清除的方法(PopList1.Groups.Clear()),若没有加在第二次点击审阅人按钮时选择项数据将重复添加。

  1. /// <summary>
  2. /// 审阅人选择
  3. /// </summary>
  4. /// <param name="sender"></param>
  5. /// <param name="e"></param>
  6. /// <remarks></remarks>
  7. private void btnUser_Click(object sender, EventArgs e)
  8. {
  9.         try {
  10.                 PopList1.Groups.Clear();
  11.                 //清空选择项
  12.                 //获取数据
  13.                 frmLeave frmLeave = new frmLeave(Session["UserID"].ID);
  14.                 DataTable table = frmLeave.GetConfirmUser();

  15.                 PopListGroup poli = new PopListGroup();
  16.                 PopList1.Groups.Add(poli);
  17.                 poli.Text = "审阅人";
  18.                 //显示选择列表中key和values
  19.                 foreach (DataRow rowli in table.Rows) {
  20.                         poli.Items.Add(rowli.Item["USER_NAME"], rowli.Item["USER_ID"]);
  21.                         if (txtUser.Text.Trim().Length ()> 0) {
  22.                                 //当审阅人输入框值等于选择项中某一项值时设置为默认选中值
  23.                                 if (txtUser.Text.Trim().ToUpper() == rowli.Item["USER_ID"].ToString().Trim().ToUpper()) {
  24.                                         PopList1.SetSelections(poli.Items[(poli.Items.Count - 1)]);
  25.                                 }
  26.                         }
  27.                 }
  28.                 PopList1.Show();
  29.         } catch (Exception ex) {
  30.                 MessageBox.Show(ex.Message);
  31.         }
  32. }
复制代码

     选择项已经显示出来了,选择其中某项后赋值给 “审阅人输入框” 。
  1. private void PopList1_Selected(object sender, EventArgs e)
  2. {
  3.         if (PopList1.Selection != null) {
  4.                 this.txtUser.Text = PopList1.Selection.Text.Trim;
  5.         }
  6. }
复制代码

     录入完日志数据后,点击保存按钮,通过ToolbarItemClick事件来保存日志数据


  1.     /// <summary>
  2.     /// Toolbar
  3.     /// </summary>
  4.     /// <param name="sender"></param>
  5.     /// <param name="e"></param>
  6.     private void frmWorkRecordCreate_ToolbarItemClick(object sender, ToolbarClickEventArgs e)
  7.     {
  8.         try
  9.         {   //返回
  10.             if (e.Name .Equals ( tExit.Name))
  11.             {
  12.                 MessageBox.Show("是否确定返回?", MessageBoxButtons.YesNo, (Object s, MessageBoxHandlerArgs args) =>
  13.                    {
  14.                        if (args .Result  == Smobiler.Core.ShowResult.Yes)
  15.                        {
  16.                            this.Close();
  17.                        }
  18.                   });
  19.                
  20.             }
  21.             //保存
  22.             if (e.Name .Equals ( save.Name))
  23.             {

  24. WorkRecordV2 WorkRecord = new WorkRecordV2(Session["UserID"].ID);
  25. WorkRecordData WorkRecordData = new WorkRecordData();
  26. WorkRecordData.WR_DATE = Convert.ToDateTime(this.WRDATE.CurrentDate.ToShortDateString);
  27. if (this.txtAddress.Text.Trim.Length > 0) {
  28.         WorkRecordData.WR_ADDRESS = this.txtAddress.Text;
  29. }
  30. if (this.txtUser.Text.Length > 0) {
  31.         WorkRecordData.WR_CHECKMEN = this.txtUser.Text;
  32. }
  33. if (this.txtnote.Text.Length > 0) {
  34.         WorkRecordData.WR_NOTE = this.txtnote.Text;
  35. }
  36. WorkRecord.Create(WorkRecordData);
  37. MessageBox.Show("日志报创建成功!",() =></span>
复制代码

     日报录入界面就已经完成了,日报编辑界面事件加载也是一样的。在日报编辑界面中获取日报的值,可以通过load事件来实现。







使用道具 举报 回复 支持 反对
发新帖
您需要登录后才可以回帖 登录 | 立即注册