2

私はこれが可能であると確信しています、私はただどのようにまたはどこから始めるべきか最も霧深いものを持っていません。

そのため、MS Dynamic CRMで作成されたオプションセットがあり、国のリストMyCountryOptionSetが表示されます。素晴らしい。

ただし、ユーザーがフリーテキストを入力できる他の.net、c#アプリケーションがいくつかあります。これはそれほど素敵ではありません。

そのため、MyCountryOptionSetに存在する国のみを使用できるように、これらを結び付けたいと思います。

したがって、MyCountryOptionSetの国を.netアプリケーションのドロップダウンリストにバインドしたいと思います。

どうすればこれを行うことができますか?

4

3 に答える 3

5

RetrieveAttributeRequest調べてくださいIOrganizationService。これにより、オプションセットで定義された国を取得できます。AttributeMetadataへの応答にプロパティをキャストするPicklistAttributeMetadata

コントロールへのバインドはUIテクノロジー固有であるため、詳細を投稿してください。

于 2012-06-07T14:12:22.713 に答える
4

次のようにオプション値を取得するには、crmapisを使用します。

_serviceProxy = new OrganizationServiceProxy(serverConfig.OrganizationUri, serverConfig.HomeRealmUri,
                serverConfig.Credentials, serverConfig.DeviceCredentials);
_serviceProxy.EnableProxyTypes();
_service = _serviceProxy;

RetrieveAttributeRequest retrieveAttributeRequest =
    new RetrieveAttributeRequest
    {                            
        EntityLogicalName = EntityLogicalName,
        LogicalName = optionSetLogicalName,
        RetrieveAsIfPublished = true,
    };

// Execute the request.
RetrieveAttributeResponse retrieveAttributeResponse =
    (RetrieveAttributeResponse)_service.Execute(
    retrieveAttributeRequest);

// Access the retrieved attribute.
PicklistAttributeMetadata retrievedPicklistAttributeMetadata =
    (PicklistAttributeMetadata)
    retrieveAttributeResponse.AttributeMetadata;

// Get the current options list for the retrieved attribute.
OptionMetadata[] optionList =
    retrievedPicklistAttributeMetadata.OptionSet.Options.ToArray();

//Dictionary<int,string> LocalizedLabelDic = new Dictionary<int,string>();

List<ListItem> OptionSetItems = new List<ListItem>();

foreach (OptionMetadata o in optionList)
{
    OptionSetItems.Add(new ListItem(o.Label.LocalizedLabels.FirstOrDefault(e => e.LanguageCode == 1033).Label.ToString(), o.Value.Value.ToString()));
}

次に、listitemジェネリックcollectoinをurasp.netドロップダウンにバインドします

于 2012-09-22T14:07:16.167 に答える
0

次のようなクエリを使用して、CRMデータベースに値を直接クエリできます。

select Value, AttributeName
from StringMap
where AttributeName = 'New_MySet' --schema name of the global option set
and ObjectTypeCode = 1 --changes based on entity type field is associated with

結果が得られたら、それらをアプリケーションのリストにバインドできます。

于 2012-06-07T14:11:54.120 に答える