Dynamics crm 2011 如何使用JavaScript检索选项集所选选项的名称

Dynamics crm 2011 如何使用JavaScript检索选项集所选选项的名称,dynamics-crm-2011,Dynamics Crm 2011,如何使用CRM JavaScript SDK从字段中检索名称而不是值? 可以使用SDK检索该值: SDK.REST.retrieveRecord(…); account.completepoulateaccountfields=函数(account){ var类型=帐户[“optionsetname”]。值; if(type!=null) //行动 此调用中只返回值。 OrganizationData.svc中是否设置了可以使用检索到的值进行查询的选项集?您需要使用metadataservic

如何使用CRM JavaScript SDK从字段中检索名称而不是值?
可以使用SDK检索该值:

SDK.REST.retrieveRecord(…);
account.completepoulateaccountfields=函数(account){
var类型=帐户[“optionsetname”]。值;
if(type!=null)
//行动
此调用中只返回值。

OrganizationData.svc中是否设置了可以使用检索到的值进行查询的选项集?

您需要使用metadataservice检索标签名称。请检查代码:

C#:

RetrieveAttributeRequest请求=新建RetrieveAttributeRequest{
EntityLogicalName=entityName,
LogicalName=attributeName,
RetrieveAsIfPublished=true
};
RetrieveAttributeResponse响应=(RetrieveAttributeResponse)服务。执行(请求);
PicklistAttributeMetadata=(PicklistAttributeMetadata)response.AttributeMetadata;
OptionMetadata[]optionList=metadata.OptionSet.Options.ToArray();
foreach(选项列表中的OptionMetadata选项){
//期权价值-期权的价值
//option.Label.UserLocalizedLabel.Label-该值的标签名称
}
如果您想知道一个标签文本,其中您只知道值,而您不在表单中,请在中使用此选项

如果您所处的表单中需要获取选项集的文本,您可以简单地执行以下操作:

Xrm.Page.getAttribute(“optionsetfieldname”).getText();

我将相同的命名选项集添加到Contact,并将其设置为只读,用我从父帐户获得的值填充它。
要求在联系人上显示父帐户类型

我仍然不知道如何使用JavaScript获取选项集值的名称。

最近CRM中发生了一些变化(?),因此调用Xrm.Page.getAttribute(“optionsetfieldname”).getText()直接会给您带来一个错误。 使用两步方法:

var sOptionsetAttribute = Xrm.Page.getAttribute("optionsetfieldname");
var sOptionsetValueName = sOptionsetAttribute.getText();

@PedroAzevedo别忘了标记语法,以便更好地显示代码。如果标记中没有语言规范,那么会感到困惑。我更新了你的帖子。看一看。:)谢谢Konrad,我的开头和这个建议非常有用。@Pedro感谢你的更新。我不在表单中。我正在从父帐户检索选项集值与SDK.retrieveRecord()的联系。@Bvrce使用我的帖子的链接,看看我对回复者关于源代码的评论。颜色化后看起来好多了。(技术上相同的内容,但很容易阅读,呵呵。)感谢更新,它看起来会起作用,但我没有尝试过。