您的位置:首页 > 其它

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

2016-03-21 10:24 453 查看
在上一篇博文中讲了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事件来实现。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: