二开案例.构建插件.日期字段设置输入范围
【应用场景】插件的方式设置日期字段的日期输入范围。
【案例演示】采购订单,设置采购日期的日期输入范围为2022-01-01至2022-12-31,如果输入的日期不在此范围,则日期控件显示红叉提示。
【实现步骤】
<1>编写表单构建插件,代码如下。
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.JSON;
using Kingdee.BOS.Util;
using System;
using System.ComponentModel;
namespace Jac.XkDemo.BOS.Business.PlugIn
{
/// <summary>
/// 【构建插件】日期字段设置输入范围
/// </summary>
[Description("【构建插件】日期字段设置输入范围"), HotUpdate]
public class DateFieldSetDataScopeFormBuilderPlugIn : AbstractDynamicWebFormBuilderPlugIn
{
public override void CreateControl(CreateControlEventArgs e)
{
base.CreateControl(e);
if (e.ControlAppearance.Key.EqualsIgnoreCase("FDate"))
{
// 设置采购日期的输入范围为2022年
var minDate = Convert.ToDateTime("2022-01-01");
var maxDate = Convert.ToDateTime("2022-12-31");
var item = e.Control.Get("item") as JSONObject;
if (item != null)
{
item.Put("minValue", minDate);
item.Put("maxValue", maxDate);
}
}
}
}
}
<2>拷贝插件组件到应用站点的WebSite\Bin目录下,重启IIS。
<3>BOSIDE扩展采购订单,注册表单构建插件,保存元数据,开发完毕。
现在可以登录业务站点,打开采购订单编辑界面,给采购日期录入一个2021年的日期,验证一下插件设置的日期输入范围是否已经生效啦。
【知识点】
<1>日期字段提供了【日期范围】属性,用于设置日期的输入范围,如下图所示,本案例的插件代码仅用于演示如何用插件的方式来设置日期字段的日期的输入范围。
<2>所有经表单构建插件进行的干预,都将受客户端元数据缓存策略所限制,在当前单据的客户端元数据缓存再次失效前,此插件事件都不会再次执行,因此,此案例不适用于需要动态的,实时的,频繁调整字段属性的应用场景。
【参考资料】
【二开案例.表单插件.日期字段动态设置输入范围】https://vip.kingdee.com/article/137584936390872832
【金蝶云星空BOS二次开发案例演示】https://vip.kingdee.com/article/94751030918525696
二开案例.构建插件.日期字段设置输入范围
本文2024-09-23 04:20:37发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-164694.html