简单账表表单插件中启用表单服务插件中定义的Ttile原创
4人赞赏了该文章
2,072次浏览
编辑于2021年08月11日 16:50:21
一、在简单账表表单服务插件GetReportTiles增加Title和值(默认都是文本类型值),默认为禁用
public override ReportTitles GetReportTitles(IRptParams filter) { var rTile = new ReportTitles(); var customFilterObj = filter.FilterParameter.CustomFilter; var CreateTime = ObjectUtils.Object2String(customFilterObj["FCreateDate1"]); var mObj =customFilterObj["FMNumber"] as DynamicObject; var mId = ObjectUtils.Object2String(mObj["Number"]); rTile.AddTitle("FCreateDate1", CreateTime); rTile.AddTitle("FMNumber", mId); return rTile; }
二、在表单插件的AfterBindData事件中启用即可。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ComponentModel; using Kingdee.BOS.Core; using Kingdee.BOS.Core.Report.PlugIn; using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; using Kingdee.BOS.Model.Report; using Kingdee.BOS.Web.Report; namespace Kingdee.BOS.TestPlugIn.BillFormPlugin { [HotUpdate] [Description("单据简单明细帐表表单插件")] public class BillASimpleReportFormPlugIn : AbstractSysReportPlugIn { /// <summary> /// 数据绑定后事件 /// </summary> /// <param name="e"></param> public override void AfterBindData(EventArgs e) { var reportModel = this.Model as SysReportModel; var reportView = this.View as SysReportView; var titles = reportModel.ReportTitles; if (titles != null) { foreach (var title in titles) { var ctl = reportView.TryGetControl(title.TitleKey); if (ctl != null) { ctl.Enabled = true; } } } } }
三、启用后赋值其实都是文本值,如果想根据字段类型来赋值,还需要在表单插件中处理,参考连接中的第4项:https://vip.kingdee.com/article/209963869630678016
赞 4
4人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读