2012-05-04 15 views
5

私はCRM 2011年に設定されたオプションを持っていることは、4つのオプションがあります。CRM 2011のオプション設定値の設定方法は?

  1. 公開
  2. プライベート
  3. 子会社
  4. 私はの値を設定するプラグインを通じて

その他このオプションが設定されます。誰も私にこのオプションセットの価値を設定する声明を提供できますか?

答えて

8

あなたは以下を使用してオプションの設定値を設定することができます -

xxxxは任意の値を表し、

かどうかは「実体カスタマイゼーション内の属性のメタデータページで確認することができ

OptionSetValue myOptionSet = new OptionSetValue(); 
myOptionSet.Value = xxxx 
myEntity.Attributes["optionSetAttributeName"] = myOptionSet; 

// myEntityは実際にpreImage/postImageであるか、プラグイン内の動的に作成されたエンティティのみが実際に更新メソッドを呼び出す必要があるかどうかを判断しますが、基本的にこれはオプション設定値を設定して属性を更新する方法です。プラグインで

+0

ので、XXXX表しありませんオプションの実際のテキスト値、または選択したオプションのインデックス? – CompanyDroneFromSector7G

+0

インデックスは値です。テキストはその値に関連付けられたラベルにすぎません。 –

10

How to set optionsetvalue in plugins

あなたはINDEXがあなたは、optionエディタ(デフォルト値は、いくつかの桁の長さである)で調べることができますint型であるyourEntity.yourAttribute = new OptionSetValue(INDEX); を書くことができます。

OR

あなたは私がここにCRMにオプション・セットを処理するためのいくつかのコードを共有したいと思っyourEntity.Attributes.Add(“yourAttribute”, new OptionSetValue(INDEX));

0

のようなは、optionを設定...

fieldValue = ((OptionSetValue)entity.Attributes[field]).Value.ToString(); 

//need to get Option Set display label based on its value. This requires getting attribute metadata 
RetrieveAttributeRequest attributeRequest = new RetrieveAttributeRequest 
{ 
    EntityLogicalName = entity.LogicalName, 
    LogicalName = field, 
    RetrieveAsIfPublished = true 
}; 

RetrieveAttributeResponse attributeResponse = (RetrieveAttributeResponse)orgContext.Execute(attributeRequest); 
EnumAttributeMetadata attributeMetadata = (EnumAttributeMetadata)attributeResponse.AttributeMetadata; 

foreach (OptionMetadata om in attributeMetadata.OptionSet.Options) 
{ 
    if (om.Value == ((OptionSetValue)entity.Attributes[field]).Value) 
    { 
     fieldlabel = om.Label.UserLocalizedLabel.Label; 
    } 
} 

return fieldlabel; 
関連する問題