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

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

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

/// 
 
/// 审阅人选择
 
/// 
 
/// 
 
/// 
 
/// 
 
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);
 
        }
 
}


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

private void PopList1_Selected(object sender, EventArgs e)
 
{
 
        if (PopList1.Selection != null) {
 
                this.txtUser.Text = PopList1.Selection.Text.Trim;
 
        }
 
}


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


    /// 
 
    /// Toolbar
 
    /// 
 
    /// 
 
    /// 
 
    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);
 
        }
 
    }


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

你可能感兴趣的:(开发,移动开发,.NET,周报,移动应用,Smobiler,移动开发)