表单(打开单据、列表、动态表单、简单、SQL帐表)示例代码

BOS IDE中配置了个界面,拖了动态表单界面,加了5个测试按钮。

表单(打开单据、列表、动态表单、简单、SQL帐表)示例代码

直接看效果:
点击“打开单据”维护界面,
会跳转到一个新的主界面页签,【物料】新增

表单(打开单据、列表、动态表单、简单、SQL帐表)示例代码


点击“打开列表”,会弹出【物料】列表界面,


表单(打开单据、列表、动态表单、简单、SQL帐表)示例代码



击“打开动态表单”,会弹出动态表单,
这个打开动态表单界面是空的,一般动态表单都是要压入自定义参数值进去,或者从父界面获取需要的值。



表单(打开单据、列表、动态表单、简单、SQL帐表)示例代码

点击“打开简单帐表”,会弹出简单帐表,

表单(打开单据、列表、动态表单、简单、SQL帐表)示例代码



点击“打开直接SQL帐表”,会弹出直接SQL帐表,
可以看到报错了,因为这个是所有【直接Sql帐表】的基对象,是不能直接使用的,我们开发的直接SQL帐表都是继承这个的,演示帐套里默认没有其他的直接SQL帐表,也就拿这个测试看下效果了。

表单(打开单据、列表、动态表单、简单、SQL帐表)示例代码


附上代码:

  1. using Kingdee.BOS.Core.DynamicForm.PlugIn;

  2. using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;

  3. using System;

  4. using System.Collections.Generic;

  5. using System.ComponentModel;

  6. using System.Linq;

  7. using System.Text;


  8. namespace ClassLibrary60.Business.PlugIn

  9. {

  10.     [Description("模型打开测试")]

  11.     public class CustDynamicFormPlugIn : AbstractDynamicFormPlugIn

  12.     {

  13.         public override void ButtonClick(ButtonClickEventArgs e)

  14.         {

  15.             base.ButtonClick(e);

  16.             if (e.Key.EndsWith("Bill", StringComparison.OrdinalIgnoreCase))

  17.             {

  18.                 Kingdee.BOS.Core.Bill.BillShowParameter param = new Kingdee.BOS.Core.Bill.BillShowParameter();

  19.                 param.FormId = "BD_MATERIAL";//【物料】基础资料 业务对象标识,此处基础资料、单据类型都可以

  20.                 param.OpenStyle.ShowType = Kingdee.BOS.Core.DynamicForm.ShowType.MainNewTabPage;//打开方式,到主界面一个新的页签

  21.                 param.ParentPageId = this.View.PageId;//指定ParentPageId,可以实现打开的界面直接拿到父界面的数据 如this.View.ParentFormView.Model.DataObject

  22.                 this.View.ShowForm(param);

  23.             }

  24.             else if (e.Key.EndsWith("List", StringComparison.OrdinalIgnoreCase))

  25.             {

  26.                 Kingdee.BOS.Core.List.ListShowParameter param = new Kingdee.BOS.Core.List.ListShowParameter();

  27.                 param.FormId = "BD_MATERIAL";// 【物料】基础资料 业务对象标识,此处基础资料、单据类型都可以

  28.                 this.View.ShowForm(param);

  29.             }

  30.             else if (e.Key.EndsWith("DynamicForm", StringComparison.OrdinalIgnoreCase))

  31.             {

  32.                 Kingdee.BOS.Core.DynamicForm.DynamicFormShowParameter param = new Kingdee.BOS.Core.DynamicForm.DynamicFormShowParameter();

  33.                 param.FormId = "BD_QUERYAUXMATERIAL";//【查询辅助属性启用的物料】动态表单 业务对象标识,此处动态表单、基础资料、单据类型的都可以

  34.                 this.View.ShowForm(param);

  35.             }

  36.             else if (e.Key.EndsWith("SysReport", StringComparison.OrdinalIgnoreCase))

  37.             {

  38.                 Kingdee.BOS.Core.Report.SysReportShowParameter param = new Kingdee.BOS.Core.Report.SysReportShowParameter();

  39.                 param.FormId = "GL_RPT_GeneralLedger";//简单账表 总分类账 此处简单账表、树形账表、分页账表、透视表类型的该都是可以的

  40.                 this.View.ShowForm(param);

  41.             }

  42.             else if (e.Key.EndsWith("SQLReport", StringComparison.OrdinalIgnoreCase))

  43.             {

  44.                 Kingdee.BOS.Core.Report.SQLReportShowParameter param = new Kingdee.BOS.Core.Report.SQLReportShowParameter();

  45.                 param.FormId = "BOS_SQLReport";

  46.                 this.View.ShowForm(param);

  47.             }

  48.         }

  49.     }

  50. }


复制代码



至于每种类型的不同打开参数控制,可自行赋下值分析研究下













本文转自51GT51CTO博客,原文链接: http://blog.51cto.com/yataigp/2073547,如需转载请自行联系原作者





上一篇:javascript图片懒加载与预加载的分析


下一篇:嵌入式linux、QT、ARM、android研发学习交流,软考嵌入式系统设计师交流群,欢迎大家加入,群号95388240