根据下来列表切换来显示单据的视图二开示例

根据下来列表切换来显示单据的视图二开,首先自定义一个下拉字段,设置此字段的值更新属性,当这个下拉列表的值切换的时候,就加载需要的视图。表单插件代码示例如下:
using Kingdee.BOS.Core.Bill;
using Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS.Core.DynamicForm;
using Kingdee.BOS.Web.DynamicForm;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Kingdee.BOS.Util;
namespace Kingdee.BOS.Printing.PlugIn.Test
{
public class CoustomShowLayout : AbstractBillPlugIn
{
bool changeLayout = false;//私有变量,用来控制DataChanged发生死循环
public override void OnInitialize(Core.DynamicForm.PlugIn.Args.InitializeEventArgs e)
{
base.OnInitialize(e);
changeLayout = Convert.ToBoolean(this.View.OpenParameter.GetCustomParameter("changeLayout"));
}
public override void AfterBindData(EventArgs e)
{
base.AfterBindData(e);
if (changeLayout)
{
string value = Convert.ToString(this.View.OpenParameter.GetCustomParameter("F_HZQ_PrivateCombo"));
this.Model.SetValue("F_HZQ_PrivateCombo", value);
changeLayout = false;
}
}
public override void DataChanged(Core.DynamicForm.PlugIn.Args.DataChangedEventArgs e)
{
base.DataChanged(e);
if (e.Field.Key == "F_HZQ_PrivateCombo" && !changeLayout)//如果是下拉列表切换,则显示视图
{
Test("614bce7538f11d", "005056a3-0125-856c-11ec-0b8b379fb7e3");
changeLayout = true;
}
}
/// <summary>
///
/// </summary>
/// <param name="defaultBillTypeId">默认的单据类型</param>
/// <param name="layoutId">视图的唯一标识</param>
private void Test(string defaultBillTypeId, string layoutId)
{
BillShowParameter para = new BillShowParameter();
this.CopyCustomeParameter(para);
para.OpenStyle.ShowType = ShowType.InCurrentForm;
para.FormId = this.View.BusinessInfo.GetForm().Id;
para.DefaultBillTypeId = defaultBillTypeId;
para.LayoutId = layoutId;
para.Status = this.View.OpenParameter.Status;
para.PKey = null;
para.ParentPageId = this.View.OpenParameter.ParentPageId;
// Pa
根据下来列表切换来显示单据的视图二开示例
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



