Smobiler上海石磨_.NET移动开发平台
标题:
coms管理系统——工作单
[打印本页]
作者:
Lincy.Lin
时间:
2016-3-25 11:59
标题:
coms管理系统——工作单
时光飞逝,转眼又到周二了,今天楼楼更的coms管理系统的"工作单"功能;“工作单”功能是从主页的“其他”子页的“工作单”菜单进入的,上周楼楼没有讲到“其他”子页菜单设计,现在来补上。
“其他”子页的菜单项是一个IconMenuView控件,在选择
IconMenuView的Groups菜单组集合属性的
“
MenuView
Groups
集合器编辑器”对话框来
设置菜单组,通过
MenuViewGroup中的Items菜单项集合的“
MenuViewItemes集合器编辑器”对话框来添加一
级菜单项
。
点击“其他”子页的“工作单”菜单项进入到“工作单”主页。首先创建“工作单”主页界面,在这个界面中要做的是“我创建的”和“我审批的”的“工作单”显示列表,那么在这个界面需要“我创建的”和“我审批的”的两个button控件和一个列表展示的Gridview控件,因为需要做“工作单”状态的筛选功能,在设计的时候楼楼本来是将“筛选”按钮放到“标题”栏的服务器固定按钮“┇”下面的,发觉有点突兀,楼楼就将“筛选”按钮放到了左上角。界面基本布局已经好了,现在界面还不太美观,因coms管理系统主色调是蓝色,所以我们以蓝色为主,设置标题栏的背景颜色TitleBackColor属性设置为蓝色,因为进入工作单默认查看的功能是“我创建的”工作单,所以将“我创建的”按钮
BackColor属性设置为蓝色
。
[attach]515[/attach]
工作单的基础界面布局好了,而对Gridview的Layout布局如下:
[attach]516[/attach]
那么工作单创建和编辑和详细界面也是通过lable,button,Textbox来实现布局,布局样式如下:
[attach]517[/attach] [attach]518[/attach] [attach]519[/attach]
作者:
Lincy.Lin
时间:
2016-3-25 14:45
进入工作单默认加载的是“我创建的”数据,这里定义了一个变量btnMode,当btnMode为1时是“我创建的”的数据,btnMode为2时是“我审批的”数据;这里楼楼定义了一个Bind方法用来绑定数据,再在load事件中加载Bind方法。现在gridview便可展示“我创建的”数据,那么当数据较多的情况时,客户端加载速度就变慢了,在这种情况下数据需要进行分批加载,用到了UpSlippling(Gridview数据上拉事件)。
注:使用gridview的UpSlippling事件和
DownSlippling事件时首先要将gridview的AllowSlip属性设置为True(允许上下拉事件滑动)。
/// <summary>
/// bind方法
/// </summary>
/// <remarks></remarks>
private void Bind()
{
try {
switch (btnMode) {
case 1:
//我创建的
this.btnWorkDCreate.ForeColor = Drawing.Color.DeepSkyBlue;
this.btnWorkDCheck.ForeColor = Drawing.Color.Gray;
break;
case 2:
//我审批的
this.btnWorkDCreate.ForeColor = Drawing.Color.Gray;
this.btnWorkDCheck.ForeColor = Drawing.Color.DeepSkyBlue;
break;
}
pagesCount = GetNumber();
//获取我创建或我审批工作单的总条数
DataTable table = GetData(pageIndex);
//我创建的或我审批的数据
if (table.Rows.Count > 0) {
this.GridView1.DataSource = table;
this.GridView1.DataBind();
} else {
this.GridView1.Rows.Clear();
}
} catch (Exception ex) {
MessageBox.Show(ex.Message);
}
}
复制代码
Gridview数据上拉事件代码:
/// <summary>
/// GridView下拉事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
/// <remarks></remarks>
private void GridView1_UpSlippling(object sender, EventArgs e)
{
try {
pageIndex += 1;
if (pageIndex < pagesCount) {
DataTable table = GetData(pageIndex);
//分批工作单数据
if (table.Rows.Count > 0) {
this.GridView1.AddData(table);
}
} else {
MessageBox.Show("数据已加载完成!");
}
} catch (Exception ex) {
MessageBox.Show(ex.Message);
}
}
复制代码
当点击gridview的行项如果布局是可触发事件则用ItemClick事件(如Button,ImageButton等),若是不可触发事件则用CellClick事件(如lable,Image等),这里
gridview布局用到的是不可触发事件
CellClick。
/// <summary>
/// GridView点击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
/// <remarks></remarks>
private void GridView1_CellClick(object sender, GridViewCellEventArgs e)
{
try {
string WDOC_NO = e.Cell.Items["lblNOTE"].Value;
//获取工作单编号
switch (btnMode) {
case 1:
frmWorkDocumentDetail frm = new frmWorkDocumentDetail();
frm.WDOC_NO = WDOC_NO;
this.Redirect(frm);
break;
case 2:
frmWorkDocumentDetail1 frm = new frmWorkDocumentDetail1();
frm.WDOC_NO = WDOC_NO;
this.Redirect(frm, () =>
{
if (frm.ShowResult == Smobiler.Core.ShowResult.Yes) {
Bind();
}
});
break;
}
} catch (Exception ex) {
MessageBox.Show(ex.Message);
}
}
复制代码
当点击“我创建的”按钮和“我审批的”按钮时,加载Bind方法。
/// <summary>
/// 工作单我创建的按钮事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
/// <remarks></remarks>
private void btnWorkDCreate_Click(object sender, EventArgs e)
{
btnMode = 1;
Bind();
}
/// <summary>
/// 工作单我待审批的按钮事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
/// <remarks></remarks>
private void btnWorkDCheck_Click(object sender, EventArgs e)
{
btnMode = 2;
Bind();
}
复制代码
作者:
vicky
时间:
2016-3-25 16:09
赞
欢迎光临 Smobiler上海石磨_.NET移动开发平台 (https://www.smobiler.cn/)
Powered by Discuz! X3.2