二开方案.根据发布菜单中的自定义参数干预过滤方案中的过滤条件

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

二开方案.根据发布菜单中的自定义参数干预过滤方案中的过滤条件

image.webp

image.webp如果希望将发布菜单中的自定义参数显示到过滤方案中的过滤条件之中,可以根据下方示例代码干预:

注意:此代码仅包含干预显示的代码,不可将过滤方案进行保存,如果保存会将动态添加的条件保存到数据库中,如果想进行保存,则需要干预保存事件,移除动态添加的条件。


using System.ComponentModel;

using System.Linq;
using Kingdee.BOS.Core.CommonFilter;
using Kingdee.BOS.Core.CommonFilter.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel;
using Kingdee.BOS.Model.ListFilter;
using Kingdee.BOS.Util;

namespace Kingdee.BOS.TestPlugIn
{
    /// <inheritdoc />
    [HotUpdate]
    [Description("修改过滤方案条件")]
    public class TestBillOrgIsolationFilterPlugIn : AbstractCommonFilterPlugIn
    {
        /// <inheritdoc />
        public override void TreeNodeClick(TreeNodeArgs e)
        {
            base.TreeNodeClick(e);

            var value = this.View.ParentFormView.OpenParameter.GetCustomParameter("FText");//获取发布菜单中的参数
            var filterField = ((ListFilterModel)this.Model).FilterObject.GetFilterField("FText");//获取参数对应的字段
            var compareType = filterField.CompareType.FirstOrDefault(w => w.Id.Equals("67"));//获取[=]比较符

            var filterRow = new FilterRow("", filterField, compareType, value.ToString(), "", LogicOperate.AND,
                Enu_ColType.STRING, filterField.Caption);

            var jsonArray = ((ListFilterModel)this.Model).FilterObject.GetFilterRows();
            jsonArray.Add(filterRow.ToJSONObject());

            var filterGrid = this.View.GetControl<FilterGrid>(CommonFilterConst.ControlKey_FilterGrid);
            filterGrid.SetFilterRows(jsonArray);
        }
    }
}




二开方案.根据发布菜单中的自定义参数干预过滤方案中的过滤条件

如果希望将发布菜单中的自定义参数显示到过滤方案中的过滤条件之中,可以根据下方示例代码干预:注意:此代码仅包含干预显示的代码,不可将...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息