0

ワークスペースのユーザーを一覧表示する rallymultiobjectpicker を作成しようとしています。ただし、listCfg での設定に関係なく、displayField の値をロードしていないようです。ドキュメントでは、デフォルトが「Name」であると指定されており、「FirstName」、「ObjectID」、「DisplayName」、「_refObjectName」などに切り替えました。変更は反映されていないようです。 displayField の値は空のままです。オブジェクトを確認しました。通常返されるものの例を次に示します (すべての空のフィールドが生成され、変更されません)。

->Object
    CreationDate: null
    Disabled: false
    DisplayName: ""
    EmailAddress: ""
    FirstName: ""
    LastName: ""
    LastPasswordUpdateDate: null
    MiddleName: ""
    ObjectID: 1234567890
    OnpremLdapUsername: ""
    RevisionHistory: ""
    Role: ""
    ShortDisplayName: ""
    Subscription: ""
    TeamMemberships: ""
    UserName: ""
    UserPermissions: ""
    UserProfile: ""
    _objectVersion: "12"
    _p: "2"
    _ref: "https://rally1.rallydev.com/slm/webservice/1.33/user/1234567890.js"
    _refObjectName: "John D"
    _type: "user"
    creatable: false
    deletable: false
    groupSelected: "Available"
    matchedText: undefined
    updatable: true
    __proto__: Object

使用されるコードの例を次に示します。

Ext.widget('rallymultiobjectpicker', {
    modelType: 'user',
    fieldLabel: 'Owners',
    listCfg: {displayField: "DisplayName", autoScroll: true},
    stateful: false,
    labelWidth: 50,
});

編集: 以下の回答に記載されているものと同様の構成を使用すると、この問題は 2.0p3 で再び発生しました。listCfg で displayField が指定されているにもかかわらず、オプション テキストが表示されません。また、別の rallymultiobjectpicker にあるデータ セットを制限する機能がないため、filters/customQuery が完全に壊れているように見えることにも注意してください。

4

1 に答える 1

1

サーバーから displayField を取得するデータ ストア構成を指定する必要があります。fetch パラメータだけでなく、ストア構成全体を指定する必要があります。また、オートコンプリート機能が適切に機能するためには、filterFieldName の構成オプションを渡す必要があります。構成例を以下に示します。

Ext.widget('rallymultiobjectpicker', {
    modelType: 'user',
    fieldLabel: 'Owners',
    filterFieldName: 'DisplayName',
    storeCfg: {
        autoLoad: false,
        fetch: 'DisplayName',
        pageSize: 200,
        sorters: [
            {
                property: 'DisplayName',
                direction: 'ASC'
            }
        ],
        remoteGroup: false,
        remoteSort: false,
        remoteFilter: false,
        limit: Infinity
    },
    listCfg: {
        displayField: 'DisplayName'
    },
    stateful: false,
    labelWidth: 50
});
于 2012-06-19T22:29:55.210 に答える