二开案例.列表插件.打开F8列表时指定快捷过滤条件

【应用场景】
打开F8列表时指定快捷过滤条件。
【案例演示】
采购订单,打开物料的F8列表时,将采购订单单据头上的计量单位字段的值,传递给物料F8列表的快捷过滤字段基本单位,并参与列表过滤。

【实现步骤】
<1>编写列表插件,代码如下。
using Kingdee.BOS.Core.CommonFilter;
using Kingdee.BOS.Core.List.PlugIn;
using Kingdee.BOS.Core.List.PlugIn.Args;
using Kingdee.BOS.Core.ListFilter;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.Util;
using System.ComponentModel;
using System.Linq;
namespace Jac.XkDemo.BOS.Business.PlugIn
{
/// <summary>
/// 【列表插件】打开F8列表时指定快捷过滤条件
/// </summary>
[Description("【列表插件】打开F8列表时指定快捷过滤条件"), HotUpdate]
public class SetQuickFilterRowListPlugIn : AbstractListPlugIn
{
public override void PrepareFilterParameter(FilterArgs e)
{
base.PrepareFilterParameter(e);
if (!this.ListView.OpenParameter.IsBaseList())
{
return;
}
if (this.View.ParentFormView == null || !this.View.ParentFormView.BillBusinessInfo.GetForm().Id.EqualsIgnoreCase("PUR_PurchaseOrder"))
{
return;
}
// 获取源单上的计量单位的值
var value = this.View.ParentFormView.Model.GetValue("F_Jac_Base") as DynamicObject;
if (value == null || value["Name"] == null)
{
return;
}
var unitName = value["Name"].ToString();
if (string.IsNullOrWhiteSpace(unitName))
{
return;
}
// 基本单位过滤字段的字段名
var filterFieldName = "FBaseUnitId.FName"; // 基础资料.名称
//var filterFieldName = "FBaseUnitId.FNumber";// 基础资料.编码
var filterModel = this.View.GetService<IListFilterModelService>();
if (filterModel != null
&& filterModel.QuickFilterObject != null
&& filterModel.QuickFilterObject.FilterRows != null
&& filterModel.QuickFilterObject.FilterRows.Count > 1)
{
var hasRow = false;
foreach (var filterRow in filterModel.QuickFilterObject.FilterRows)
{
if (filterRow.FilterField.FieldName.EqualsIgnoreCase(filterFieldName))
{
filterRow.Value = unitName;
hasRow = true;
}
}
if (!hasRow)
{
CreateFilterRow(filterModel.QuickFilterObject, filterFieldName, "等于", unitName);
}
this.ListView.Model.FilterParameter.QuickFilterString = filterModel.GetQuickFilte二开案例.列表插件.打开F8列表时指定快捷过滤条件
【应用场景】打开F8列表时指定快捷过滤条件。【案例演示】采购订单,打开物料的F8列表时,将采购订单单据头上的计量单位字段的值,传递给物...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



