Smobiler基于.NET框架开发移动应用内部系统—周报日志等功能(开发日志四)

来源:互联网 发布:y系列电动机技术数据 编辑:程序博客网 时间:2024/05/19 06:49

在上一篇博文中讲了Smobiler实现周报日志等功能界面上的实现。今天我们讲一下代码逻辑的编写。

在日报录入界面审阅人是可选择可输入的,如何写选择事件了。在点击审阅人按钮事件中一定要加选择项数据清除的方法(PopList1.Groups.Clear()),若没有加在第二次点击审阅人按钮时选择项数据将重复添加。

<span style="font-size:14px;">/// <summary> /// 审阅人选择 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <remarks></remarks> private void btnUser_Click(object sender, EventArgs e) {         try {                 PopList1.Groups.Clear();                 //清空选择项                 //获取数据                 frmLeave frmLeave = new frmLeave(Session["UserID"].ID);                 DataTable table = frmLeave.GetConfirmUser();                 PopListGroup poli = new PopListGroup();                 PopList1.Groups.Add(poli);                 poli.Text = "审阅人";                 //显示选择列表中key和values                 foreach (DataRow rowli in table.Rows) {                         poli.Items.Add(rowli.Item("USER_NAME"), rowli.Item("USER_ID"));                         if (txtUser.Text.Trim.Length > 0) {                                 //当审阅人输入框值等于选择项中某一项值时设置为默认选中值                                 if (txtUser.Text.Trim.ToUpper == rowli.Item("USER_ID").ToString.Trim.ToUpper) {                                         PopList1.SetSelections(poli.Items((poli.Items.Count - 1)));                                 }                         }                 }                 PopList1.Show();         } catch (Exception ex) {                 MessageBox.Show(ex.Message);         } }</span>


选择项已经显示出来了,选择其中某项后赋值给 “审阅人输入框” 。

<span style="font-size:14px;">private void PopList1_Selected(object sender, EventArgs e) {         if (PopList1.Selection != null) {                 this.txtUser.Text = PopList1.Selection.Text.Trim;         } }</span>


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

<span style="font-size:14px;">    /// <summary>     /// Toolbar     /// </summary>     /// <param name="sender"></param>     /// <param name="e"></param>     private void frmWorkRecordCreate_ToolbarItemClick(object sender, ToolbarClickEventArgs e)     {         try         {   //返回             if (e.Name .Equals ( tExit.Name))             {                 MessageBox.Show("是否确定返回?", MessageBoxButtons.YesNo, (Object s, MessageBoxHandlerArgs args) =>                    {                        if (args .Result  == Smobiler.Core.ShowResult.Yes)                        {                            this.Close();                        }                   });                             }             //保存             if (e.Name .Equals ( save.Name))             { WorkRecordV2 WorkRecord = new WorkRecordV2(Session["UserID"].ID); WorkRecordData WorkRecordData = new WorkRecordData(); WorkRecordData.WR_DATE = Convert.ToDateTime(this.WRDATE.CurrentDate.ToShortDateString); if (this.txtAddress.Text.Trim.Length > 0) {         WorkRecordData.WR_ADDRESS = this.txtAddress.Text; } if (this.txtUser.Text.Length > 0) {         WorkRecordData.WR_CHECKMEN = this.txtUser.Text; } if (this.txtnote.Text.Length > 0) {         WorkRecordData.WR_NOTE = this.txtnote.Text; } WorkRecord.Create(WorkRecordData); MessageBox.Show("日志报创建成功!", () => {         ShowResult = Smobiler.Core.ShowResult.Yes;         this.Close(); });             }         }         catch (Exception ex)         {             MessageBox.Show(ex.Message);         }     }</span>


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

0 0