0

我正在尝试创建一个列出工作区用户的 rallymultiobjectpicker。但是,无论它在 listCfg 中设置为什么,它似乎都没有为 displayField 加载任何值。文档指定默认值为“名称”,我已切换为“名字”、“对象ID”、“显示名称”、“_refObjectName”等。似乎没有任何更改反映,因为 div 应该包含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,但没有显示选项文本。我还应该注意,过滤器/customQuery 似乎完全被破坏了,因为它们不能限制我在另一个 rallymultiobjectpicker 中的数据集。

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 回答