我是 ExtJS 开发的新手。我有来自 2 个不同数据存储的数据(例如:DepartmentsStore 和EmployeesStore)。我正在尝试在父表中显示部门列表,并将每个部门中的所有员工作为嵌套表显示到 UI 上的父部门表中。
我使用 XTemplates 加载数据并将其绑定到我的主面板。但是我在嵌套 XTemplates 时遇到问题。我不确定我是否做错了什么,非常感谢任何帮助。这是 Xtemplate javascript 代码片段,
var tplEmployeesDetails = new Ext.XTemplate(
'<table width="100%">',
'<tr><td>Employee First Name</td>',
'<td>Employee Last Name</td>',
'<td>Email</td></tr>',
'<tpl for=".">',
'<tpl for="data">',
'<tr><td>{DBxFIRSTNAME}</td>',
'<td>{DBxLASTNAME}</font></td>',
'<td>{DBxEMAIL}</td></tr>',
'</tpl>',
'</tpl>',
'</table>'
);
var tplDepartmentDetails = new Ext.XTemplate(
'<tpl for=".">',
'<tpl for="data">',
'<b>Department Detail:</b>',
'<table>',
'<tr><td>Department Name</td><td>{DBxDEPTNAME}</td></tr>',
'<tr><td>Collateral Name</td><td>{DBxDEPTNAME}</td></tr>',
'Employees Under Department:',
'{[ this.renderEmployees(values.DBxDEPTID)]}',
'</td></tr>',
'{% } %}',
'</table>',
'</tpl>',
'</tpl>',
{
renderEmployees: function(DEPTID)
{
appEngine.autoPost({
sysExtScope: 'false',
sysIgnoreExtension: 'true',
sysAction: 'getdbtable',
sysProjectName: 'OrgProject',
sysEngineApp: 'OrgApp',
sysEngineService: 'DepartmentService',
myRoot: 'SessionRespTable',
sysEngineOrderBy: 'DEPTID DESC',
DBxDEPTID: DEPTID,
myFields: DepartmentServiceFields
},function(EmployeesStore, Records, Resultflag, Options)
{
employeesStore = EmployeesStore.getStore();
//Issue: THIS DOES NOT SEEM TO RETURN THE tplEmployeesDetails Xtemplate markup!!
return tplEmployeesDetails.apply(collatPolicyStore);
});
}
}
);
tplDepartmentDetails.append(mainPanel.body, departmentStore);