BOS IDE中配置了個界面,拖了動態表單界面,加了5個測試按鈕。
點擊“打開單據”維護界面,
會跳轉到一個新的主界面頁簽,【物料】新增
點擊“打開列表”,會彈出【物料】列表界面
點擊“打開動態表單”,會彈出動態表單,
這個打開動態表單界面是空的,一般動態表單都是要壓入自定義參數值進去,或者從父界面獲取需要的值。
點擊“打開簡單帳表”,會彈出簡單帳表,
點擊“打開直接SQL帳表”,會彈出直接SQL帳表,
可以看到報錯了,因為這個是所有【直接Sql帳表】的基對象,是不能直接使用的,我們開發的直接SQL帳表都是繼承這個的,演示帳套里默認沒有其他的直接SQL帳表,也就拿這個測試看下效果了。
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
namespace ClassLibrary60.Business.PlugIn
{
[Description("模型打開測試")]
public class CustDynamicFormPlugIn : AbstractDynamicFormPlugIn
{
public override void ButtonClick(ButtonClickEventArgs e)
{
base.ButtonClick(e);
if (e.Key.EndsWith("Bill", StringComparison.OrdinalIgnoreCase))
{
Kingdee.BOS.Core.Bill.BillShowParameter param = new Kingdee.BOS.Core.Bill.BillShowParameter();
param.FormId = "BD_MATERIAL";//【物料】基礎資料 業務對象標識,此處基礎資料、單據類型都可以
param.OpenStyle.ShowType = Kingdee.BOS.Core.DynamicForm.ShowType.MainNewTabPage;//打開方式,到主界面一個新的頁簽
param.ParentPageId = this.View.PageId;//指定ParentPageId,可以實現打開的界面直接拿到父界面的數據 如this.View.ParentFormView.Model.DataObject
this.View.ShowForm(param);
}
else if (e.Key.EndsWith("List", StringComparison.OrdinalIgnoreCase))
{
Kingdee.BOS.Core.List.ListShowParameter param = new Kingdee.BOS.Core.List.ListShowParameter();
param.FormId = "BD_MATERIAL";// 【物料】基礎資料 業務對象標識,此處基礎資料、單據類型都可以
this.View.ShowForm(param);
}
else if (e.Key.EndsWith("DynamicForm", StringComparison.OrdinalIgnoreCase))
{
Kingdee.BOS.Core.DynamicForm.DynamicFormShowParameter param = new Kingdee.BOS.Core.DynamicForm.DynamicFormShowParameter();
param.FormId = "BD_QUERYAUXMATERIAL";//【查詢輔助屬性啟用的物料】動態表單 業務對象標識,此處動態表單、基礎資料、單據類型的都可以
this.View.ShowForm(param);
}
else if (e.Key.EndsWith("SysReport", StringComparison.OrdinalIgnoreCase))
{
Kingdee.BOS.Core.Report.SysReportShowParameter param = new Kingdee.BOS.Core.Report.SysReportShowParameter();
param.FormId = "GL_RPT_GeneralLedger";//簡單賬表 總分類賬 此處簡單賬表、樹形賬表、分頁賬表、透視表類型的該都是可以的
this.View.ShowForm(param);
}
else if (e.Key.EndsWith("SQLReport", StringComparison.OrdinalIgnoreCase))
{
Kingdee.BOS.Core.Report.SQLReportShowParameter param = new Kingdee.BOS.Core.Report.SQLReportShowParameter();
param.FormId = "BOS_SQLReport";
this.View.ShowForm(param);
}
}
}
}