我需要计算(使用ssjs)组合框内的选项,它在Dojo数据网格中包含一个可编辑的列。需要基于同一行中的列值来计算组合框值。例如,如果列B的值为“1”,则列E中的选择应显示选项5,10,15,如果列B中的值为“2”,则选项应为10,20,30。 更新:以下是我的代码,直到现在,我需要填写标记为“相对排名 - SC级别1”,“相对排名 - SC级别2”和“相对排名 - SC级别3”的列中的值,具体取决于“Grade Cluster”列。根据特定行的成绩群集,我需要计算具有特定成绩群集的文档数量,并相应地填充相对等级。例如,如果有10行具有成绩聚类“G1”,那么我需要在成绩聚类为“G1”的每一行的相对排名列中填充值1/10到10/10。
<?xml version="1.0" encoding="UTF-8"?><xp:view xmlns:xp="http://www.ibm.com/xsp/core" xmlns:xe="http://www.ibm.com/xsp/coreex"
dojoTheme="true" dojoParseOnLoad="true">
<xp:this.resources>
<xp:dojoModule name="dojox.grid.cells.dijit"></xp:dojoModule>
<xp:styleSheet href="/Dojo_Grid_Style.css"></xp:styleSheet>
</xp:this.resources>
<xp:this.beforePageLoad><![CDATA[#{javascript:var key = sessionScope.key;
var curDB:NotesDatabase = session.getCurrentDatabase();
var vwlkApprView:NotesView;
var collDocAppr:NotesDocumentCollection;
vwlkApprView = curDB.getView("vwlkApprSCID");
collDocAppr = vwlkApprView.getAllDocumentsByKey(key);
viewScope.scApprDocCount = collDocAppr.getCount();}]]></xp:this.beforePageLoad>
<xp:panel id="pnlScreening" style="height:auto;width:100.0%">
<xe:restService id="SCViewData">
<xe:this.service>
<xe:viewItemFileService viewName="vwlkApprSCID"
defaultColumns="true" keys="# {javascript:sessionScope.key;}"
keysExactMatch="true" var="apprDoc">
<xe:this.columns>
<xe:restViewColumn name="rrValues">
<xe:this.value><![CDATA[# {javascript:var apprRow = requestScope.get("apprDoc");print(apprRow);}]]></xe:this.value>
</xe:restViewColumn>
</xe:this.columns>
</xe:viewItemFileService>
</xe:this.service>
</xe:restService>
<xe:djxDataGrid id="djxDataGrid1" selectionMode="single"
rowsPerPage="90" autoHeight="100" singleClickEdit="true"
storeComponentId="SCViewData" jsId="apprSCGird">
<xe:djxDataGridColumn id="djxDataGridColumn1"
field="AppraiseeEmpID" label="E.No" width="2%">
</xe:djxDataGridColumn>
<xe:djxDataGridColumn id="djxDataGridColumn2"
field="AppraiseeName" label="E.Name" width="6%">
</xe:djxDataGridColumn>
<xe:djxDataGridColumn id="djxDataGridColumn3"
field="Appraisee_Grade" label="Grade" width="2%">
</xe:djxDataGridColumn>
<xe:djxDataGridColumn id="djxDataGridColumn4"
field="AppraiseeCWLCluster" label="Grade Cluster" width="2%">
</xe:djxDataGridColumn>
<xe:djxDataGridColumn id="djxDataGridColumn5"
field="AppeTotImpRate" label="Appraisee Impacted Rating" width="5%">
</xe:djxDataGridColumn>
<xe:djxDataGridColumn id="djxDataGridColumn6"
field="ApprTotImpRate" label="Appraiser Impacted Rating" width="5%">
</xe:djxDataGridColumn>
<xe:djxDataGridColumn id="djxDataGridColumn7"
field="RevTotImpRate" label="Reviewer Impacted Rating" width="5%">
</xe:djxDataGridColumn>
<xe:djxDataGridColumn id="djxDataGridColumn8"
field="ApperFinalGrade" label="Appraiser Final Grades" width="5%">
</xe:djxDataGridColumn>
<xe:djxDataGridColumn id="djxDataGridColumn17"
field="ApperRelativeRank" label="Appraiser Relative Ranks" width="5%">
</xe:djxDataGridColumn>
<xe:djxDataGridColumn id="djxDataGridColumn9"
field="RevFinalGrade" label="Reviewer Final Grades" width="5%">
</xe:djxDataGridColumn>
<xe:djxDataGridColumn id="djxDataGridColumn10"
field="RevRelativeRank" label="Reviewer Relative Ranks" width="5%">
</xe:djxDataGridColumn>
<xe:djxDataGridColumn id="djxDataGridColumn11"
field="SCFinalGradeL1" label="Final Grading - SC Level 1" width="5%"
editable="true" cellType="dojox.grid.cells.Select">
<xe:this.options><![CDATA[#{javascript:var states = ['1', '2', '3', '4', '5'];return states;}]]></xe:this.options></xe:djxDataGridColumn>
<xe:djxDataGridColumn id="djxDataGridColumn12" field="SCRelativeRankL1" label="Relative Ranking - SC Level 1" width="5%" editable="true" cellType="dojox.grid.cells.Select"> </xe:djxDataGridColumn> <xe:djxDataGridColumn id="djxDataGridColumn13" field="SCFinalGradeL2" label="Final Grading - SC Level 2" width="5%"></xe:djxDataGridColumn>
<xe:djxDataGridColumn id="djxDataGridColumn14"
field="SCRelativeRankL2" label="Relative Ranking - SC Level 2"
width="5%">
</xe:djxDataGridColumn>
<xe:djxDataGridColumn id="djxDataGridColumn15"
field="SCFinalGradeL3" label="Final Grading - SC Level 3" width="5%">
</xe:djxDataGridColumn>
<xe:djxDataGridColumn id="djxDataGridColumn16"
field="SCRelativeRankL3" label="Relative Ranking - SC Level 3"
width="5%">
</xe:djxDataGridColumn>
<xe:djxDataGridColumn id="djxDataGridColumn18"
field="AppraiserName" label="Appraiser Name" width="6%">
</xe:djxDataGridColumn>
<xe:djxDataGridColumn id="djxDataGridColumn19"
field="ReviewerName" label="Reviewer Name" width="6%">
</xe:djxDataGridColumn>
<xp:eventHandler event="onRowClick" submit="true"
refreshMode="partial" refreshId="pnlScreening">
</xp:eventHandler>
</xe:djxDataGrid>
</xp:panel></xp:view>
答案 0 :(得分:0)
Dojo网格定义在生成时无法访问实际值。在通过Ajax调用组成网格之后加载它们。您想要做的是需要客户端脚本,而不是xp标记或SSJS。
检查this tutorial以获取一些想法并报告进度。
重要提示:密切注意:工作结果应该是什么,而不是“我的方法是否有用”