1

Extension Library Data View コントロールのデータソースとして jdbcQuery を使用して DB2 データをプルしていますが、categoryColumn および/または summaryColumn の columnName または value プロパティで DB2 列名を使用し、extraColumns を使用しないと、ページでエラー 500 がスローされます。DB2 列は分類されていないため、categoryColumn でこれが発生する理由は理解できますが、DB2 列は要約列と見なされていると考えていたでしょう。とにかく、データソースの列が分類されていないときに列を分類して表示するために使用できる別のコントロールまたはハック方法はありますか?

Domino 8.5.3FP3 拡張ライブラリ 9.0.0.v00_02_20130515-2200 DB2 V10.1 for z/OS

4

2 に答える 2

1

Category Beanプロジェクトが役立つと思います。少なくとも、それに基づいて独自の Bean を作成できます。

于 2013-09-24T20:01:14.947 に答える
0

最初の繰り返しには、列ヘッダー、分類を識別するための画像、計算されたカテゴリ値、および 2 番目の繰り返しを含める必要があります。2 回目の繰り返しのデータソースは、最初の繰り返しからの分類された値に基づいて特定のフィールドを取得するための新しい SQL 呼び出しを行っています。フィールド値は、計算フィールドごとに解析できるように連結されます。私のブログでは、スクリーンショットで詳細を示します。スクリーンショットは、私の XPage で分類された値を示しており、コード サンプルで説明されています。 ここに画像の説明を入力

<xp:panel xp:key="facetMiddle">
 <xp:table>
  <xp:tr>
   <xp:td></xp:td>
  </xp:tr>
  <xp:repeat
   var="collRowData"
   value="#{jdbcQuery1}">  //name of XPage datasource
   <xp:tr>
    <xp:td>
     <xp:panel id="mainpanel">
      <xp:image
       id="image1"
       style="height:16.0px;width:16.0px"
       rendered="#{jav`enter code here`ascript:
        context.getSubmittedValue()=='hide' || 
        context.getSubmittedValue()== null;}">
        <xp:this.url><![CDATA[#{javascript:"/.ibmxspres/domino/icons/vwicn096.gif"}]]></xp:this.url>
         <xp:eventHandler
          event="onclick"
          submit="false">
          <xp:this.script><![CDATA[var visibility = 'show';
           XSP.partialRefreshGet("#{id:mainpanel}", {
           params: {'$$xspsubmitvalue': visibility}, 
           onComplete: function () {
           XSP.partialRefreshGet("#{id:secondpanel}", {
           params: {'$$xspsubmitvalue': visibility}});}});]]></xp:this.script>
         </xp:eventHandler>
      </xp:image>
      <xp:image
       id="image2"
       style="height:16.0px;width:16.0px"
       rendered="#{javascript:context.getSubmittedValue()=='show'}">
        <xp:this.url><![CDATA[#{javascript:"/.ibmxspres/domino/icons/vwicn097.gif"}]]></xp:this.url>
         <xp:eventHandler
          event="onclick"
          submit="false">
           <xp:this.script><![CDATA[var visibility = 'hide';
            XSP.partialRefreshGet("#{id:mainpanel}", {
            params: {'$$xspsubmitvalue': visibility}, 
            onComplete: function () {
            XSP.partialRefreshGet("#{id:secondpanel}", {
            params: {'$$xspsubmitvalue': visibility}});}});]]></xp:this.script>
         </xp:eventHandler>
      </xp:image>
      <xp:text
       escape="true"
       id="computedField2"
       style="margin-left:5.0px;font-weight:bold">
        <xp:this.value><![CDATA[#{javascript:if (collRowData[0]) {
          collRowData[0] }
         else {
          '- not categorized -'}}]]>
        </xp:this.value>
      </xp:text>
     </xp:panel>
     <xp:panel id="secondpanel">
      <xp:repeat
       var="character"
       rendered="#{javascript:context.getSubmittedValue()== 'show'}">
       <xp:this.value>
        <![CDATA[#{javascript:
         var sql = "Select MBR_FIRST_NM, MBR_LAST_NM from TECH.TBSCRA_DEMO where MBR_ACCESS_NBR = '" + collRowData[0] + "'"; //single quote is before and after collRowData[0]
         var rs = @JdbcExecuteQuery("db2",sql);
         var fName;
         var lName;
         while(rs.next()) {
         //Get the data from the row using the column name
         fName = rs.getString("MBR_FIRST_NM");
         lName = rs.getString("MBR_LAST_NM");
        }
        return fName + "," + lName}]]></xp:this.value>
       <xp:table>
        <xp:tr>
         <xp:td>
          <xp:text
           escape="true"
           id="firstname">
           <xp:this.value><![CDATA[#{javascript:
           var nm = @Explode(character,",");
            if (character) {
             nm[0] }
            else {
             '- not categorized -'}}]]></xp:this.value>
          </xp:text>
         </xp:td>
        </xp:tr>
       </xp:table>
      </xp:repeat>
     </xp:panel>
    </xp:td>
   </xp:tr>
  </xp:repeat>
 </xp:table>
</xp:panel>
于 2013-10-23T14:36:06.697 に答える