插件案例 —— 动态变换的字段标题原创
金蝶云社区-MiLai
MiLai
18人赞赏了该文章 1,694次浏览 未经作者许可,禁止转载编辑于2020年09月02日 09:16:02


案例背景


在做生产排班的时候,很多的字段列、字段标题都是随着排班的月、日,动态显示的。那么怎么动态设置表头、表体标题名?

image.png



代码示例


控件标题的内容在视图层控制的,View里获取控件后,设置动态属性可以改变标题。

this.View.SetCustomPropertyValue("title", "123");

那么对于表体类的,字段标题都存在于分录控件内,我们首选要聚焦分录控件,然后再设置对应属性。

this.View.GetControl<EntryGrid>("FEntity").UpdateHeader(string.Format(dynamicTitleKey[j], i + 1), string.Format(dynamicTitle[j], countMonth));

然后根据自己的业务需要,对列的Key取的有规律,能够遍历到,这样就可以动态设置标题详情了。



构建插件


在表单属性里面有一类插件比较特别,是构建插件,用的也比较少,但是有一些妙招。比如我们想要在星空中内嵌Html,然后进行数据交互。只需要对控件属性修改为WebBrowser。案例:客户洞察、供应商洞察。当然了,他也可以动态修改我们的字段标题。

[Description("表单构建插件: 页面嵌入网页")]
public class DynamicWebFormBuilderPlugin: AbstractDynamicWebFormBuilderPlugIn
{
public override void CreateControl(CreateControlEventArgs e)
{
base.CreateControl(e);
if (e.ControlAppearance.Key.EqualsIgnoreCase("FWebPanel"))
{
//需要嵌入网页的容器
e.Control["xtype"] = "kdwebbrowser";
string url = "https://123.sogou.com/";
e.Control["source"] = url;
}
}
}

image.png


赞 18