想在model driven app里面添加自定义按钮有两种方式,一种是直接在app编辑模式里面通过edit command bar方式编辑,这种目前因为没权限还没试过,后续试过再更新细节
还有一种方式是通过ribbon的方式来弄,这种比较复杂所以尝试记录一下:
相关教程在这里但是感觉写的一般,有需要的也可以看下:
首先需要下载 XrmToolBox,然后需要登录链接到生产环境,这里选择的是Microsoft Login Control
选择office 365方式,勾选第二项
然后就会弹出Microsoft的弹窗登录,如果弹窗空白加载不出内容可能需要全局科学上网的方式再刷新试下
链接后在configuration里面的tool library里面下载Ribbon Workbench
下载完后在tools里面搜索打开ribbon workbench
打开后会显示让你链接solution,这里需要新建一个solution并在solution里面关联需要自定义按钮的table
需要注意的是因为是关联所以以下两项都不要勾选
关联完成后回到xrmtoolbox连接到新建的solution
拖动左下角button到需要添加自定义按钮的表单,修改id,label和icon(icon自定义后续还要再研究下,待更新)
icon更新:如果image16和image32栏选择的图片都不生效的话,可以用下面的MpdernImage,但是需要图片的格式是svg且需要先上传到webresource
然后为按钮添加行为,新建commands
可以看到commands里面有必选项Actions,主要是写控制点击按钮的行为,还有可选项display-rule和enable-rule,主要是控制按钮权限或条件显示之类的
新建一个js文件编写按钮action行为,并上传到项目solution(不是为了ribbon新建的solution)websource code里面
然后在action里面点击add action,选择JavaScript action
在library里面选择刚上传的js文件,右边填写action函数名
如果需要权限控制和按钮隐显同样通过在display rule和enable rule以同样的方式引入js文件即可
填完Function Name后需要在button的command里关联刚写好的command
就可以点击publish上传,如无意外就可以在app里面看到自定义按钮了