我有一个名为STATES的optionSet。另一个名为RESTAURANTS。
我的目标是根据选择的状态过滤Restaurants选项集。
我目前的方法是设计选项的值,其中:
States[0] = 1000
States[1] = 2000
States[2] = 3000
然后,餐馆:
Restaurants[3] = 1003
Restaurants[30] = 2004
然后,当状态字段发生变化时,我会遍历餐馆。如果餐厅价值不在所选州的范围内,我会调用removeOption(Restaurant.value)。
我的问题是,如果状态被多次更改,则每个值都将被删除,因为我没有“刷新”选项集或“replaceOption”。
有没有办法在通过removeOption删除它们后通过javascript显示所有optionSet值?
答案 0 :(得分:2)
您要做的是创建一个从属选项列表。 SDK中有一个示例,this blog post for Crm 4和this MSDN article for 2011对此进行了解释。
答案 1 :(得分:2)
更好的设计是拥有两个自定义实体:一个用于州,一个用于餐馆。 餐馆实体将具有到州的必需(强制)查询字段(对于N:1关系)。 添加查找状态和餐厅,您将拥有该选项列表。 然后,您可以使用内置功能根据另一个查找的值过滤一个查找。没有代码,没有压力,几乎没有维护。
不要忘记您需要确保用户在
上具有“追加”权限您可以通过导入轻松设置所有状态的记录,并且不要让用户修改这些记录。进口餐馆包括国家信息。您可以使用安全角色来确定将来允许哪些用户创建新的餐馆记录,以便在不作为管理员工作的情况下使其保持最新状态。
我知道这并没有回答您提出的有关过滤选项列表的问题,但我确信它会回答您背后隐含的业务要求。