2013-12-15 30 views
1

我需要计算(使用ssjs)组合框内Dojo数据网格内包含可编辑列的选项。组合框值需要根据同一行中的列值进行计算。例如,如果列B的值为“1”,则列E中的选择应显示选项5,10,15,如果列B中的值为“2”,则选项应为10,20,30。 更新:下面是我的代码,直到现在,我需要根据值填充标记为“相对排名 - SC级别1”,“相对排名 - SC级别2”和“相对排名 - SC级别3”的列中的值在“成绩集群”栏中。基于特定行的成绩集群,我需要计算具有特定成绩集群的文档数量,并相应地填充相对等级。例如,如果有10行的成绩集群为“G1”,那么我需要在每个具有成绩集群为G1的行中的相对排名列中填写1/10至10/10的值。根据当前行的某个列值在xPage中计算DOJO数据网格内的组合框值

<?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> 
+2

您到目前为止尝试过什么?你对这个主题的研究是怎么产生的?请更新您的答案和更多细节。 –

+0

我认为你的意思是“更新你的问题”,Per。 ;)但是他是对的,纳什:不要定义一个要求,并要求我们为您编写代码...告诉我们您尝试了什么以及您卡在哪里。 –

回答

0

Dojo网格定义在生成时无法访问实际值。它们在之后加载,网格通过Ajax调用组成。你想要做的事情需要客户端脚本,而不是xp标记或SSJS。

检查this tutorial的一些想法和报告的进展。

重要提示:请注意:应该是什么工作结果,而不是“我的方法会工作”

相关问题