Rally 按第一个字符搜索用户
我想实现的功能是,我们可以通过键入用户名的第一个字符来搜索用户名。我需要使用Javascript来创建自定义htmlRally 按第一个字符搜索用户,rally,Rally,我想实现的功能是,我们可以通过键入用户名的第一个字符来搜索用户名。我需要使用Javascript来创建自定义html 有谁以前做过这件事可以帮我吗 您需要使用Web服务API。我会这样做的 API不允许您在筛选器中指定字符的位置,但您可以要求它存在于名称中的某个位置,该筛选器的外观如下: [{ property : "FirstName", operator : "contains", value : "A" //Whatever letter you're loo
有谁以前做过这件事可以帮我吗 您需要使用Web服务API。我会这样做的 API不允许您在筛选器中指定字符的位置,但您可以要求它存在于名称中的某个位置,该筛选器的外观如下:
[{
property : "FirstName",
operator : "contains",
value : "A" //Whatever letter you're looking to start with
}]
现在,加载存储后,使用第二个函数将记录筛选为仅以您的角色开头的记录:
store.filterBy(function(item) {
return item.get("FirstName")[0] === "A";
});
希望这有帮助:)您将希望使用Web服务API。我会这样做的 API不允许您在筛选器中指定字符的位置,但您可以要求它存在于名称中的某个位置,该筛选器的外观如下:
[{
property : "FirstName",
operator : "contains",
value : "A" //Whatever letter you're looking to start with
}]
现在,加载存储后,使用第二个函数将记录筛选为仅以您的角色开头的记录:
store.filterBy(function(item) {
return item.get("FirstName")[0] === "A";
});
希望这有帮助:)在示例中,用户组合框根据前两个字符动态搜索匹配值。
此默认功能在输入第二个字符后显示预期值
var u = Ext.create('Rally.ui.combobox.UserComboBox',{
id: 'u',
project: project,
fieldLabel: 'select user',
listeners:{
ready: function(combobox){
this._onUserSelected(combobox.getRecord());
},
select: function(combobox){
this._onUserSelected(combobox.getRecord());
},
scope: this
}
});
this.add(u);
},
如果要加载所有用户(不要将选择限制为特定项目的团队成员和编辑),可以使用而不是Rally.ui.combobox.UserComboBox,并将模型设置为User
。但要解决只有当前用户填充组合框的默认行为,请使用筛选所有用户的筛选器。在下面的示例中,使用了ObjectID>0
。此组合框将由独立于项目选择器的所有用户填充。此片段不是上述自定义应用程序示例的一部分:
{
xtype: 'rallycombobox',
fieldLabel: 'select project',
storeConfig: {
autoLoad: true,
model: 'User',
filters:[
{
property: 'ObjectID',
operator: '>',
value: 0
}
],
sorters: [
{
property: 'UserName',
direction: 'ASC'
}
]
}
}
在中的示例中,用户组合框根据前两个字符动态搜索匹配值。
此默认功能在输入第二个字符后显示预期值
var u = Ext.create('Rally.ui.combobox.UserComboBox',{
id: 'u',
project: project,
fieldLabel: 'select user',
listeners:{
ready: function(combobox){
this._onUserSelected(combobox.getRecord());
},
select: function(combobox){
this._onUserSelected(combobox.getRecord());
},
scope: this
}
});
this.add(u);
},
如果要加载所有用户(不要将选择限制为特定项目的团队成员和编辑),可以使用而不是Rally.ui.combobox.UserComboBox,并将模型设置为User
。但要解决只有当前用户填充组合框的默认行为,请使用筛选所有用户的筛选器。在下面的示例中,使用了ObjectID>0
。此组合框将由独立于项目选择器的所有用户填充。此片段不是上述自定义应用程序示例的一部分:
{
xtype: 'rallycombobox',
fieldLabel: 'select project',
storeConfig: {
autoLoad: true,
model: 'User',
filters:[
{
property: 'ObjectID',
operator: '>',
value: 0
}
],
sorters: [
{
property: 'UserName',
direction: 'ASC'
}
]
}
}
如果我使用SKD2.0,这个就可以了。你知道如何使用SDK 1.0实现吗?这个应用程序只能获得编辑器,但不会包含所有的查看器。我恐怕没有AppSDK 1示例,我假设它需要更多的编码。这是一个较旧的SDK,将被弃用。上面的示例使用一个代码片段进行更新,其中创建了一个带有用户模型的组合框,用于加载所有用户。如果我使用SKD 2.0,则此组合框有效。你知道如何使用SDK 1.0实现吗?这个应用程序只能获得编辑器,但不会包含所有的查看器。我恐怕没有AppSDK 1示例,我假设它需要更多的编码。这是一个较旧的SDK,将被弃用。上面的示例更新为一个代码片段,其中创建了一个带有用户模型的组合框,用于加载所有用户。