表单插件.自动刷新之自定义事件---废话不多说,安排!!!

【应用场景】动态表单界面元素定时自动刷新。
【案例演示】采购订单新增界面上,每3秒自动刷新日期字段为当前时间。

【实现步骤】
<1>编写表单插件,代码如下。
using Kingdee.BOS.Core.Const;
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 AutoRefreshFormPlugIn : AbstractDynamicFormPlugIn
{
const string Event_GetDate = "GetDate";
public override void AfterBindData(EventArgs e)
{
base.AfterBindData(e);
DoRefresh();
}
public override void CustomEvents(CustomEventsArgs e)
{
base.CustomEvents(e);
if (e.Key.Equals(Event_GetDate, StringComparison.OrdinalIgnoreCase))
{
var data = JSONObject.Parse(e.EventArgs);
if (data != null && data.ContainsKey("EventData"))
{
this.View.Model.SetValue("F_Jac_Datetime", Convert.ToDateTime(data["EventData"]));
DoRefresh();
}
}
}
/// <summary>
/// 服务端主动发指令给前端,要求前端在指定时间间隔后发送CustomEvents事件到服务端
/// </summary>
private void DoRefresh()
{
var data = new JSONObject();
data["EventData"] = DateTime.Now;
表单插件.自动刷新之自定义事件---废话不多说,安排!!!
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



