Epicor 客制化 - 常用对象

一、csm

csm是Ice.Lib.Customization.CustomScriptManager类的一个实例化对象,它是用来管理客制化的工具。
客制化中Epicor标准的控件,对象等都是从csm中获取的,常用代码如下:

//通过GUID获取控件:
EpiUltraGrid epiUG1=(EpiUltraGrid)csm.GetNativeControlReference(guid);

//获取工具栏管理控件
UltraToolbarsManager baseToolbarsManager = ((UltraToolbarsManager)(csm.GetGlobalInstance("baseToolbarsManager")));

//在PO Entry中获取oTrans对象
Erp.UI.App.POEntry.Transaction oTrans = ((Erp.UI.App.POEntry.Transaction)(csm.GetGlobalInstance("oTrans")));

//在PO Entry中获取POEntryForm对象
Erp.UI.App.POEntry.POEntryForm POEntryForm = ((Erp.UI.App.POEntry.POEntryForm)(csm.GetGlobalInstance("POEntryForm")));

//在PO Entry中获取POAdapter对象
EpiBaseAdapter oTrans_poAdapter = ((EpiBaseAdapter)(this.csm.TransAdaptersHT["oTrans_poAdapter"]));

二、oTrans

oTrans对象其实不需要我们写代码从csm中获取,因为客制中默认已经生成该代码,勾选All Code可以查看。
oTrans是UI层开发中使用最多的对象,UI层的大部分操作都可以通过调用oTrans对象的方法来实现,oTrans对象也有许多常用的属性。比较通用的方法和属性如:

//方法
oTrans.Refresh();//刷新,
oTrans.Update();//保存
oTrans.Delete();//删除
oTrans.Undo();//撤销
oTrans.InvokeSearch(opts);//搜索数据
oTrans.NotifyAll();//可以触发EpiDataView的EpiViewNotification事件

//属性
oTrans.Session//当前Session
oTrans.LastView//获取最后激活的EpiDataView,一般用于判断当前用户是否在操作某个EpiDataView数据
oTrans.StatusPanel//底部状态栏,可用于显示自定义的状态信息
oTrans.EpiDataViews["POHeader"]//获取当前UI中的EpiDataView对象

当然更多的还是非通用的方法和属性这里就不举例了。

oTrans对象还是实例化Adapter的重要参数。

//实例化POAdapter,并加载对应poNum的数据
POAdapter adp = new POAdapter(oTrans);
adp.BOConnect();
adp.GetByID(poNum)
adp.Dispose();

三、baseToolbarsManager

baseToolbarsManager对象同oTans一样,在客制中默认已经生成获取该对象的代码。
baseToolbarsManager是用于管理顶部工具栏菜单的对象。常用功能如:

//禁用删除工具
baseToolbarsManager.Tools["DeleteTool"].SharedProps.Enabled = false;

//隐藏搜索工具
baseToolbarsManager.Tools["PrimarySearchTool"].SharedProps.Visible = false;

//新增一个New菜单,并添加点击事件
ButtonTool btToolNew= new ButtonTool("btToolNew");
btToolNew.SharedProps.Caption = "New";
btToolNew.SharedProps.DisplayStyle = ToolDisplayStyle.ImageOnlyOnToolbars;//在工具栏中只显示图标
EpiBaseForm.setImageOnTool(btToolNew, "New");//在工具栏中显示的图片ID
btToolNew.ToolClick += btToolNew_ToolClick;//为按钮添加事件
baseToolbarsManager.Tools.AddRange(new ToolBase[] { btToolNew });//在添加到工具栏前,需要先添加到baseToolbarsManager里面
UltraToolbar standardTools = baseToolbarsManager.Toolbars["Standard Tools"];
standardTools.Tools.InsertTool(0, "btToolNew");//将新建的New菜单添加到标准工具栏最前面

//将菜单添加到Actions下拉菜单中
((PopupMenuTool)baseToolbarsManager.Tools["ActionsMenu"]).Tools.AddTool("btToolNew");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值