让我们说我在CRM中有一个网格,向我显示需要使用自定义javascript对话框创建的发票。在此对话框中,我想放置两个选项,以执行以下操作:
1)选择网格中标记为已选中的所有行
2)选择网格中所有现有的行
特别是我对2号有疑问)
如果我有5页的发票,我无法弄清楚如何获得所有行。那么,如何选择网格中的所有行,而不仅仅是实际网格页面上显示的行?
任何建议都将受到高度赞赏。
问候 桑德罗
答案 0 :(得分:1)
如果只想检索网格中选定的元素,则可以使用 Ribbon Workbench 在子网格上配置新按钮。该按钮必须具有命令操作,该命令操作可以配置为使用SelectedControlSelectedItemIds
参数将所选项目传递给JavaScript方法
也有一个SelectedControlAllItemIds
参数,但是我认为这仅在当前页面中提供“所有项目”,而不是所有页面。不确定这些最后一点,所以绝对值得一试
如果这不起作用,那么您将必须使用WebApi
调用自己进行操作。例如,要获取与某个帐户关联的所有联系人,您可以执行以下操作:
// Get the ID of the parent account
var accountid = {AccountId};
// Execute a query to retrieve all Contacts associated with the given Account ID
Xrm.WebApi.retrieveMultipleRecords("contacts", "?$select=contactid&$filter=_parentcustomerid_value eq " + accountid)
.then(
function(results) { console.log(results); },
function(error) { console.log(error); }
);
详细了解retrieveMultipleRecords
here