如何实现检验单按不同的条件发布为不同的列表显示
需求描述:本例以质检状态作为过滤条件,将质检完成与非质检完成的检验单分开不同的列表显示。
解决方案:1、发布菜单设置自定义参数QcStatus用于区分质检完成和非质检完成,如下图所示:
(1)质检完成列表发布参数设置:
(2)非质检完成列表发布参数设置:
2、二开列表插件继承AbstractListPlugIn,插件中重写 PrepareFilterParameter事件,在事件中获取发布参数设置过滤条件,示例代码如下:
public override void PrepareFilterParameter(BOS.Core.List.PlugIn.Args.FilterArgs e)
{
base.PrepareFilterParameter(e);
//定义过滤条件的字符串
string filterString = "";
//加载的时候,获取发布主控台设置的参数QcStatus
string listType = this.View.OpenParameter.GetCustomParameter("QcStatus") as string;
//判断字符串 QcStatus的值是否为空,或者为空格,与设置值,不区分大小写对比
if(!string.IsNullOrWhiteSpace(listType)&&listType.Equals("1",StringComparison.OrdinalIgnoreCase))
{ //质检完成
filterString = string.Format(" FQCSTATUS='3' ", this.Context.UserId);
}
else if (!string.IsNullOrWhiteSpace(listType) && listType.Equals("2", StringComparison.OrdinalIgnoreCase))
{ //非质检完成
filterString = string.Format(" FQCSTATUS <>'3' ", this.Context.UserId);
}
//原本的过滤条件e.FilterString
if(!string.IsNullOrWhiteSpace(e.FilterString)&& !string.IsNullOrWhiteSpace(filterString))
{
e.FilterString += "AND";
}
e.FilterString += filterString;
}
3、二开的插件挂在检验单元数据的列表插件处即可。
如何实现检验单按不同的条件发布为不同的列表显示
本文2024-09-23 03:27:38发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-158998.html