LoginSignup
2
1

More than 5 years have passed since last update.

Cognos レポートで展開や折りたたみの機能を実装する

Last updated at Posted at 2017-07-14

概要

Cognosのレポートで、以下のイメージの様に、+ - ボタンで展開や折りたたみを実装したい場合の、JavaScriptでのカスタマイズ例です。
image.png

実装方法

Report Authoringのイメージは、こんなイメージです。
image.png

HTML Item ① の内容
+ ボタン、- ボタンをクリックした時の動作を制御する。

<span id="ExpandedTable"> </span>
<script>

// This function expands/collapses a table where the columns have +/- icons

var displayStyle = "";
var noDisplayStyle = "none";

var currentRow = 0;
var maxRowLength = 0;
var tbl;

//array with counts for each column to store how many minuses are in the column
var columnExpandCountArray; 

//array of all columns, with values: 1-has icon, 2-always visible, 0-other
var columns; 

function ExpandCollapse(el) {

var cid = el.parentNode.cellIndex;

// variable to know whether to change next columns
//  0-don't change; 1-show next columns, 2-hide next columns
var showNextColumns = 0; 
if (isPlus(el)) {
el.src = "../pat/hal/images/minus.gif";
columnExpandCountArray[cid]++;
if (columnExpandCountArray[cid] == 1) {
showNextColumns = 1;
}
} else {
el.src = "../pat/hal/images/plus.gif";
columnExpandCountArray[cid]--;
if (columnExpandCountArray[cid] == 0) {
showNextColumns = 2;
}
}
var tr = el.parentNode.parentNode; // the current row
currentRow = tr.rowIndex;

showLines(el, cid);
hideOrShowColumns(cid, showNextColumns);
}

function showColumnVisibility(k, visible) {

for ( var i = 0; i < tbl.rows.length; i++) {
var row = tbl.rows[i];
if (k >= row.cells.length) {
continue;
}

// set the cell visibility
row.cells[k].style.display = visible ? displayStyle : noDisplayStyle;
}
}

function hideOrShowColumns(cid, showNextColumns) {
if (showNextColumns == 1) {
// must show the next columns
for ( var k = cid + 1; k < maxRowLength; k++) {
if (columns[k] == 2) {
continue; // column is always visible
}
showColumnVisibility(k, true);
if (columns[k] == 1 && columnExpandCountArray[k] == 0) {
return; // no need to go to the next columns
}

}
} else {
if (showNextColumns == 2) {
// must hide the next columns
for (k = cid + 1; k < maxRowLength; k++) {
if (columns[k] == 2) {
continue; // column is always visible
}

showColumnVisibility(k, false);
}
}
}
}

function showLines(el, cind) {
var show = true; // to show lines or not

// Grab the ROW that was clicked and the TABLE that contains it
var tr = el.parentNode.parentNode; // the current row
var tbl = tr.parentNode.parentNode; // the table

if (isPlus(el)) {
show = false;
} else {
show = true;
}
while (currentRow < tbl.rows.length - 1) {
currentRow++;

var row = tbl.rows[currentRow];
var iconIndex = getIconIndexInRow(row, 0);

if (iconIndex >= 0 && iconIndex <= cind) {
row.style.display = displayStyle;
currentRow--;
return; // found the next line with icon in the same column; return
}
if (!show) {
row.style.display = noDisplayStyle;

} else {
row.style.display = displayStyle;
if (iconIndex > cind) {
var icon = row.cells[iconIndex].firstChild;
showLines(icon, iconIndex);
}
}
}
}

function isPlus(el) {
return el.src.indexOf("minus") == -1;
}

function hasIcon(cell) {
// return true if this cell has an img
if ((Number(cell.childNodes.length)) == 0) {
return false;
}
var c = cell.firstChild;
if (c != null) {
return (c.tagName == "IMG");
}
return false;
}

function getIconIndexInRow(row, startId) {
for ( var i = startId; i < row.cells.length; i++) {
if (hasIcon(row.cells[i])) {
return i;
}
}
return -1;
}

function showAll() {
for ( var i = 1; i < tbl.rows.length; i++) {
row = tbl.rows[i]; // the current row
row.style.display = displayStyle; // show the row
}
}

function StartHidden() {
 var q=document.getElementById("ExpandedTable");

 // get the table
 tbl = q.parentNode.parentNode.parentNode.parentNode;

for ( var i = 0; i < tbl.rows.length; i++) {
var row = tbl.rows[i]; // the current row

if (row.cells.length > maxRowLength) {
maxRowLength = row.cells.length;
}
}
columns = new Array(maxRowLength);
columnExpandCountArray = new Array(maxRowLength);
for ( var j = 0; j < maxRowLength; j++) {
columns[j] = 0; // 0-default not icon, not always visible
}
var firstLineWithIcon = 0;

for (i = 1; i < tbl.rows.length; i++) {
row = tbl.rows[i]; // the current row

if (hasIcon(row.cells[0])) {
// leave it visible, since it has + icon
if (firstLineWithIcon == 0) {
firstLineWithIcon = i;
}
} else {
row.style.display = noDisplayStyle; // hide the row
}
var index = getIconIndexInRow(row, 0);
if (index > -1) {
columns[index] = 1; // 1- column has icon
}
}

for (j = 0; j < maxRowLength; j++) {
columnExpandCountArray[j] = 0;
}
row = tbl.rows[firstLineWithIcon]; // the current row

for (j = 0; j < row.cells.length; j++) {
if (columns[j] != 1 && row.cells[j].childNodes.length > 0) {
columns[j] = 2; // 2- always visible
}
}

for ( var k = 1; k < maxRowLength; k++) {
if (columns[k] == 2) {
continue;
}
for ( var i1 = 0; i1 < tbl.rows.length; i1++) {
if (k >= tbl.rows[i1].cells.length) {
continue;
}

tbl.rows[i1].cells[k].style.display = noDisplayStyle; // hide the cell
}
}
}
</script>

HTML Item ② の内容
+ ボタン、- ボタンを表示。クリック時にHTML Item①のExpandCollapse()functionを呼び出す。

<img onclick='ExpandCollapse(this)' src='../pat/hal/images/plus.gif' style='cursor:hand;vertical-align:middle; margin-right:2px'/>
<span onclick='ExpandCollapse(this.previousSibling)' style='cursor:hand'>

HTML Item ③ の内容
HTML Item ②のspanを閉じる。

</span>

HTML Item ④ の内容
HTML Item ①のStartHidden() functionを呼び出す。

<script>
StartHidden();
</script>

レポートXML定義

以下のXML定義をコピーし、Report Authoringの「ツール」->「クリップボードからレポートを開く」でレポートを作成。
パッケージは「GO販売 (クエリー) 」を使用しています。

<report xmlns="http://developer.cognos.com/schemas/report/12.0/" expressionLocale="en-us" ignoreFilterContext="false"><!--RSU-SPC-0093 レポート仕様は、2015 年 5 月 9 日に "http://developer.cognos.com/schemas/report/11.0/" から "http://developer.cognos.com/schemas/report/12.0/" へアップグレードされました。 5:40:21--><!--RSU-SPC-0093 レポート仕様は、2015 年 3 月 30 日に &amp;amp;amp;quot;http://developer.cognos.com/schemas/report/8.0/&amp;amp;amp;quot; から &amp;amp;amp;quot;http://developer.cognos.com/schemas/report/11.0/&amp;amp;amp;quot; へアップグレードされました。 18:1:18--><!--RSU-SPC-0093 The report specification was upgraded from &amp;amp;amp;amp;quot;http://developer.cognos.com/schemas/report/4.0/&amp;amp;amp;amp;quot; to &amp;amp;amp;amp;quot;http://developer.cognos.com/schemas/report/8.0/&amp;amp;amp;amp;quot; at 2011-12-8. 15:55:43-->                                                                                                                
                <modelPath>/content/folder[@name='サンプル']/folder[@name='モデル']/package[@name='GO販売 (クエリー)']/model[@name='model']</modelPath>                                                                                                
                <queries>                                                                                               
                    <query name="Query1">                                                                                           
                        <source>                                                                                        
                            <model/>                                                                                    
                        </source>                                                                                       
                        <selection><dataItem aggregate="none" name="Country" rollupAggregate="none"><expression>[Sales (query)].[Branch].[Country]</expression></dataItem><dataItem aggregate="none" name="Product line" rollupAggregate="none"><expression>[Sales (query)].[Products].[Product line]</expression></dataItem><dataItem aggregate="none" name="Product type" rollupAggregate="none"><expression>[Sales (query)].[Products].[Product type]</expression></dataItem><dataItem aggregate="total" name="Quantity"><expression>[Sales (query)].[Sales].[Quantity]</expression></dataItem><dataItem aggregate="total" name="Gross profit"><expression>[Sales (query)].[Sales].[Gross profit]</expression></dataItem></selection>                                                                                        
                    <detailFilters><detailFilter postAutoAggregation="false" use="prohibited"><filterExpression>[Country]='Australia' or [Country]='Brazil'</filterExpression></detailFilter></detailFilters></query>                                                                                           
                </queries>                                                                                              
                <layouts>                                                                                               
                    <layout>                                                                                            
                        <reportPages>                                                                                       
                            <page name="Page1"><style><defaultStyles><defaultStyle refStyle="pg"/></defaultStyles></style>                                                                                  
                                <pageBody><style><defaultStyles><defaultStyle refStyle="pb"/></defaultStyles></style>                                                                               
                                    <contents>                                                                          

                                    <table><style><defaultStyles><defaultStyle refStyle="tb"/></defaultStyles><CSS value="border-collapse:collapse;width:100%"/></style><tableRows><tableRow><tableCells><tableCell><contents><table><style><defaultStyles><defaultStyle refStyle="tb"/></defaultStyles><CSS value="border-collapse:collapse;width:100%;border-bottom:2.5pt solid green"/></style><tableRows><tableRow><tableCells><tableCell><contents><block>                                                                         
            <contents/>                                                                                                 
        <style><CSS value="width:10px;height:40px;overflow:hidden"/><generatedBackground><fill><linearGradient><gradientColor gradientColor="green"/></linearGradient></fill><border borderColor="green" cornerRadius="5pt"/></generatedBackground></style></block></contents><style><CSS value="width:20px"/></style></tableCell><tableCell><contents><textItem><dataSource><staticValue>国別製品販売実績</staticValue></dataSource></textItem></contents><style><CSS value="text-align:left"/></style></tableCell></tableCells></tableRow></tableRows></table></contents></tableCell></tableCells></tableRow><tableRow><tableCells><tableCell><contents/><style><CSS value="height:5px"/></style></tableCell></tableCells></tableRow><tableRow><tableCells><tableCell><contents><list horizontalPagination="true" name="List1" refQuery="Query1" rowsPerPage="2000">                                                                                                      



                                            <style>                                                                 
                                                <defaultStyles>                                                             
                                                    <defaultStyle refStyle="ls"/>                                                           
                                                </defaultStyles>                                                                
                                                <CSS value="border-collapse:collapse"/>                                                             
                                            </style>                                                                    
                                        <listColumns><listColumn><listColumnTitle><style><defaultStyles><defaultStyle refStyle="lt"/></defaultStyles><CSS value="background-color:silver"/></style><contents><textItem><dataSource><dataItemLabel refDataItem="Country"/></dataSource></textItem></contents></listColumnTitle><listColumnBody><style><defaultStyles><defaultStyle refStyle="lc"/></defaultStyles></style><contents/></listColumnBody></listColumn><listColumn><listColumnTitle><style><defaultStyles><defaultStyle refStyle="lt"/></defaultStyles><CSS value="background-color:silver"/></style><contents><textItem><dataSource><dataItemLabel refDataItem="Product line"/></dataSource></textItem></contents></listColumnTitle><listColumnBody><style><defaultStyles><defaultStyle refStyle="lc"/></defaultStyles></style><contents/></listColumnBody></listColumn><listColumn><listColumnTitle><style><defaultStyles><defaultStyle refStyle="lt"/></defaultStyles><CSS value="background-color:silver"/></style><contents><textItem><dataSource><dataItemLabel refDataItem="Product type"/></dataSource></textItem></contents></listColumnTitle><listColumnBody><style><defaultStyles><defaultStyle refStyle="lc"/></defaultStyles></style><contents/></listColumnBody></listColumn><listColumn><listColumnTitle><style><defaultStyles><defaultStyle refStyle="lt"/></defaultStyles><CSS value="background-color:silver"/></style><contents><textItem><dataSource><dataItemLabel refDataItem="Quantity"/></dataSource></textItem></contents></listColumnTitle><listColumnBody><style><defaultStyles><defaultStyle refStyle="lm"/></defaultStyles></style><contents/></listColumnBody></listColumn><listColumn><listColumnTitle><style><defaultStyles><defaultStyle refStyle="lt"/></defaultStyles><CSS value="background-color:silver"/></style><contents><textItem><dataSource><dataItemLabel refDataItem="Gross profit"/></dataSource></textItem></contents></listColumnTitle><listColumnBody><style><defaultStyles><defaultStyle refStyle="lm"/></defaultStyles></style><contents/></listColumnBody></listColumn></listColumns><listPageHeader><listRows><listRow><rowCells><rowCell><contents><HTMLItem>                                                                      
            <dataSource>                                                                                                    
                <staticValue>&lt;span id="ExpandedTable"&gt; &lt;/span&gt;                                                                                              
&lt;script&gt;                                                                                                              

// This function expands/collapses a table where the columns have +/- icons                                                                                                             

var displayStyle = "";                                                                                                              
var noDisplayStyle = "none";                                                                                                                

var currentRow = 0;                                                                                                             
var maxRowLength = 0;                                                                                                               
var tbl;                                                                                                                

//array with counts for each column to store how many minuses are in the column                                                                                                             
var columnExpandCountArray;                                                                                                                 

//array of all columns, with values: 1-has icon, 2-always visible, 0-other                                                                                                              
var columns;                                                                                                                

function ExpandCollapse(el) {                                                                                                               

    var cid = el.parentNode.cellIndex;                                                                                                          

    // variable to know whether to change next columns                                                                                                          
    //  0-don't change; 1-show next columns, 2-hide next columns                                                                                                            
    var showNextColumns = 0;                                                                                                            
    if (isPlus(el)) {                                                                                                           
        el.src = "../pat/hal/images/minus.gif";                                                                                                     
        columnExpandCountArray[cid]++;                                                                                                      
        if (columnExpandCountArray[cid] == 1) {                                                                                                     
            showNextColumns = 1;                                                                                                    
        }                                                                                                       
    } else {                                                                                                            
        el.src = "../pat/hal/images/plus.gif";                                                                                                      
        columnExpandCountArray[cid]--;                                                                                                      
        if (columnExpandCountArray[cid] == 0) {                                                                                                     
            showNextColumns = 2;                                                                                                    
        }                                                                                                       
    }                                                                                                           
    var tr = el.parentNode.parentNode; // the current row                                                                                                           
    currentRow = tr.rowIndex;                                                                                                           

    showLines(el, cid);                                                                                                         
    hideOrShowColumns(cid, showNextColumns);                                                                                                            
}                                                                                                               

function showColumnVisibility(k, visible) {                                                                                                             

    for ( var i = 0; i &lt; tbl.rows.length; i++) {                                                                                                         
        var row = tbl.rows[i];                                                                                                      
        if (k &gt;= row.cells.length) {                                                                                                     
            continue;                                                                                                   
        }                                                                                                       

        // set the cell visibility                                                                                                      
        row.cells[k].style.display = visible ? displayStyle : noDisplayStyle;                                                                                                       
    }                                                                                                           
}                                                                                                               

function hideOrShowColumns(cid, showNextColumns) {                                                                                                              
    if (showNextColumns == 1) {                                                                                                         
        // must show the next columns                                                                                                       
        for ( var k = cid + 1; k &lt; maxRowLength; k++) {                                                                                                      
            if (columns[k] == 2) {                                                                                                  
                continue; // column is always visible                                                                                               
            }                                                                                                   
            showColumnVisibility(k, true);                                                                                                  
            if (columns[k] == 1 &amp;&amp; columnExpandCountArray[k] == 0) {                                                                                                    
                return; // no need to go to the next columns                                                                                                
            }                                                                                                   

        }                                                                                                       
    } else {                                                                                                            
        if (showNextColumns == 2) {                                                                                                     
            // must hide the next columns                                                                                                   
            for (k = cid + 1; k &lt; maxRowLength; k++) {                                                                                                   
                if (columns[k] == 2) {                                                                                              
                    continue; // column is always visible                                                                                           
                }                                                                                               

                showColumnVisibility(k, false);                                                                                             
            }                                                                                                   
        }                                                                                                       
    }                                                                                                           
}                                                                                                               

function showLines(el, cind) {                                                                                                              
    var show = true; // to show lines or not                                                                                                            

    // Grab the ROW that was clicked and the TABLE that contains it                                                                                                         
    var tr = el.parentNode.parentNode; // the current row                                                                                                           
    var tbl = tr.parentNode.parentNode; // the table                                                                                                            

    if (isPlus(el)) {                                                                                                           
        show = false;                                                                                                       
    } else {                                                                                                            
        show = true;                                                                                                        
    }                                                                                                           
    while (currentRow &lt; tbl.rows.length - 1) {                                                                                                           
        currentRow++;                                                                                                       

        var row = tbl.rows[currentRow];                                                                                                     
        var iconIndex = getIconIndexInRow(row, 0);                                                                                                      

        if (iconIndex &gt;= 0 &amp;&amp; iconIndex &lt;= cind) {                                                                                                        
            row.style.display = displayStyle;                                                                                                   
            currentRow--;                                                                                                   
            return; // found the next line with icon in the same column; return                                                                                                 
        }                                                                                                       
        if (!show) {                                                                                                        
            row.style.display = noDisplayStyle;                                                                                                 

        } else {                                                                                                        
            row.style.display = displayStyle;                                                                                                   
            if (iconIndex &gt; cind) {                                                                                                  
                var icon = row.cells[iconIndex].firstChild;                                                                                             
                showLines(icon, iconIndex);                                                                                             
            }                                                                                                   
        }                                                                                                       
    }                                                                                                           
}                                                                                                               

function isPlus(el) {                                                                                                               
    return el.src.indexOf("minus") == -1;                                                                                                           
}                                                                                                               

function hasIcon(cell) {                                                                                                                
    // return true if this cell has an img                                                                                                          
    if ((Number(cell.childNodes.length)) == 0) {                                                                                                            
        return false;                                                                                                       
    }                                                                                                           
    var c = cell.firstChild;                                                                                                            
    if (c != null) {                                                                                                            
        return (c.tagName == "IMG");                                                                                                        
    }                                                                                                           
    return false;                                                                                                           
}                                                                                                               

function getIconIndexInRow(row, startId) {                                                                                                              
    for ( var i = startId; i &lt; row.cells.length; i++) {                                                                                                          
        if (hasIcon(row.cells[i])) {                                                                                                        
            return i;                                                                                                   
        }                                                                                                       
    }                                                                                                           
    return -1;                                                                                                          
}                                                                                                               

function showAll() {                                                                                                                
    for ( var i = 1; i &lt; tbl.rows.length; i++) {                                                                                                         
        row = tbl.rows[i]; // the current row                                                                                                       
        row.style.display = displayStyle; // show the row                                                                                                       
    }                                                                                                           
}                                                                                                               

function StartHidden() {                                                                                                                
    var q=document.getElementById("ExpandedTable");                                                                                                         

     // get the table                                                                                                           
     tbl = q.parentNode.parentNode.parentNode.parentNode;                                                                                                           

    for ( var i = 0; i &lt; tbl.rows.length; i++) {                                                                                                         
        var row = tbl.rows[i]; // the current row                                                                                                       

        if (row.cells.length &gt; maxRowLength) {                                                                                                       
            maxRowLength = row.cells.length;                                                                                                    
        }                                                                                                       
    }                                                                                                           
    columns = new Array(maxRowLength);                                                                                                          
    columnExpandCountArray = new Array(maxRowLength);                                                                                                           
    for ( var j = 0; j &lt; maxRowLength; j++) {                                                                                                            
        columns[j] = 0; // 0-default not icon, not always visible                                                                                                       
    }                                                                                                           
    var firstLineWithIcon = 0;                                                                                                          

    for (i = 1; i &lt; tbl.rows.length; i++) {                                                                                                          
        row = tbl.rows[i]; // the current row                                                                                                       

        if (hasIcon(row.cells[0])) {                                                                                                        
            // leave it visible, since it has + icon                                                                                                    
            if (firstLineWithIcon == 0) {                                                                                                   
                firstLineWithIcon = i;                                                                                              
            }                                                                                                   
        } else {                                                                                                        
            row.style.display = noDisplayStyle; // hide the row                                                                                                 
        }                                                                                                       
        var index = getIconIndexInRow(row, 0);                                                                                                      
        if (index &gt; -1) {                                                                                                        
            columns[index] = 1; // 1- column has icon                                                                                                   
        }                                                                                                       
    }                                                                                                           

    for (j = 0; j &lt; maxRowLength; j++) {                                                                                                         
        columnExpandCountArray[j] = 0;                                                                                                      
    }                                                                                                           
    row = tbl.rows[firstLineWithIcon]; // the current row                                                                                                           

    for (j = 0; j &lt; row.cells.length; j++) {                                                                                                         
        if (columns[j] != 1 &amp;&amp; row.cells[j].childNodes.length &gt; 0) {                                                                                                     
            columns[j] = 2; // 2- always visible                                                                                                    
        }                                                                                                       
    }                                                                                                           

    for ( var k = 1; k &lt; maxRowLength; k++) {                                                                                                            
        if (columns[k] == 2) {                                                                                                      
            continue;                                                                                                   
        }                                                                                                       
        for ( var i1 = 0; i1 &lt; tbl.rows.length; i1++) {                                                                                                      
            if (k &gt;= tbl.rows[i1].cells.length) {                                                                                                    
                continue;                                                                                               
            }                                                                                                   

            tbl.rows[i1].cells[k].style.display = noDisplayStyle; // hide the cell                                                                                                  
        }                                                                                                       
    }                                                                                                           
}                                                                                                               
&lt;/script&gt;</staticValue>                                                                                                               
            </dataSource>                                                                                                   
        </HTMLItem></contents><style><defaultStyles><defaultStyle refStyle="lh"/></defaultStyles></style></rowCell><rowCell><contents/><style><defaultStyles><defaultStyle refStyle="lh"/></defaultStyles></style></rowCell><rowCell><contents/><style><defaultStyles><defaultStyle refStyle="lh"/></defaultStyles></style></rowCell><rowCell><contents/><style><defaultStyles><defaultStyle refStyle="lh"/></defaultStyles></style></rowCell><rowCell><contents/><style><defaultStyles><defaultStyle refStyle="lh"/></defaultStyles></style></rowCell></rowCells></listRow></listRows></listPageHeader><listPageFooter><listRows><listRow><rowCells><rowCell><contents><HTMLItem>                                                                                                      
            <dataSource>                                                                                                    
                <staticValue>&lt;script&gt;                                                                                             
StartHidden();                                                                                                              
&lt;/script&gt;</staticValue>                                                                                                               
            </dataSource>                                                                                                   
        </HTMLItem></contents><style><defaultStyles><defaultStyle refStyle="lf"/></defaultStyles></style></rowCell><rowCell><contents/><style><defaultStyles><defaultStyle refStyle="lf"/></defaultStyles></style></rowCell><rowCell><contents/><style><defaultStyles><defaultStyle refStyle="lf"/></defaultStyles></style></rowCell><rowCell><contents/><style><defaultStyles><defaultStyle refStyle="lf"/></defaultStyles></style></rowCell><rowCell><contents/><style><defaultStyles><defaultStyle refStyle="lf"/></defaultStyles></style></rowCell></rowCells></listRow></listRows></listPageFooter><listGroups><listGroup refDataItem="Country"><listHeader><listRows><listRow><rowCells><rowCell><contents><HTMLItem>                                                                                                     
            <dataSource>                                                                                                    
                <staticValue>&lt;img onclick='ExpandCollapse(this)' src='../pat/hal/images/plus.gif' style='cursor:hand;vertical-align:middle; margin-right:2px'/&gt;                                                                                               
&lt;span onclick='ExpandCollapse(this.previousSibling)' style='cursor:hand'&gt;</staticValue>                                                                                                               
            </dataSource>                                                                                                   
        </HTMLItem><textItem><dataSource><dataItemValue refDataItem="Country"/></dataSource></textItem><HTMLItem>                                                                                                       
            <dataSource>                                                                                                    
                <staticValue>&lt;/span&gt;                                                                                              
</staticValue>                                                                                                              
            </dataSource>                                                                                                   
        </HTMLItem></contents><style><defaultStyles><defaultStyle refStyle="oh"/></defaultStyles><CSS value="background-color:white"/></style></rowCell><rowCell><contents/><style><defaultStyles><defaultStyle refStyle="oh"/></defaultStyles><CSS value="background-color:white"/></style></rowCell><rowCell><contents/><style><defaultStyles><defaultStyle refStyle="oh"/></defaultStyles><CSS value="background-color:white"/></style></rowCell><rowCell><contents><textItem><dataSource><dataItemValue refDataItem="Quantity"/></dataSource></textItem></contents><style><defaultStyles><defaultStyle refStyle="oh"/></defaultStyles><CSS value="background-color:white"/></style></rowCell><rowCell><contents><textItem><dataSource><dataItemValue refDataItem="Gross profit"/></dataSource></textItem></contents><style><defaultStyles><defaultStyle refStyle="oh"/></defaultStyles><CSS value="background-color:white"/></style></rowCell></rowCells></listRow></listRows></listHeader></listGroup><listGroup refDataItem="Product line"><listHeader><listRows><listRow><rowCells><rowCell><contents/><style><defaultStyles><defaultStyle refStyle="ih"/></defaultStyles><CSS value="background-color:white"/></style></rowCell><rowCell><contents><HTMLItem>                                                                                                       
            <dataSource>                                                                                                    
                <staticValue>&lt;img onclick='ExpandCollapse(this)' src='../pat/hal/images/plus.gif' style='cursor:hand;vertical-align:middle; margin-right:2px'/&gt;                                                                                               
&lt;span onclick='ExpandCollapse(this.previousSibling)' style='cursor:hand'&gt;</staticValue>                                                                                                               
            </dataSource>                                                                                                   
        </HTMLItem><textItem><dataSource><dataItemValue refDataItem="Product line"/></dataSource></textItem><HTMLItem>                                                                                                      
            <dataSource>                                                                                                    
                <staticValue>&lt;/span&gt;                                                                                              
</staticValue>                                                                                                              
            </dataSource>                                                                                                   
        </HTMLItem></contents><style><defaultStyles><defaultStyle refStyle="ih"/></defaultStyles><CSS value="background-color:white"/></style></rowCell><rowCell><contents/><style><defaultStyles><defaultStyle refStyle="ih"/></defaultStyles><CSS value="background-color:white"/></style></rowCell><rowCell><contents><textItem><dataSource><dataItemValue refDataItem="Quantity"/></dataSource></textItem></contents><style><defaultStyles><defaultStyle refStyle="ih"/></defaultStyles><CSS value="background-color:white"/></style></rowCell><rowCell><contents><textItem><dataSource><dataItemValue refDataItem="Gross profit"/></dataSource></textItem></contents><style><defaultStyles><defaultStyle refStyle="ih"/></defaultStyles><CSS value="background-color:white"/></style></rowCell></rowCells></listRow></listRows></listHeader></listGroup><listGroup refDataItem="Product type"><listHeader><listRows><listRow><rowCells><rowCell><contents/><style><defaultStyles><defaultStyle refStyle="ih"/></defaultStyles><CSS value="background-color:white"/></style></rowCell><rowCell><contents/><style><defaultStyles><defaultStyle refStyle="ih"/></defaultStyles><CSS value="background-color:white"/></style></rowCell><rowCell><contents><textItem><dataSource><dataItemValue refDataItem="Product type"/></dataSource></textItem></contents><style><defaultStyles><defaultStyle refStyle="ih"/></defaultStyles><CSS value="background-color:white"/></style></rowCell><rowCell><contents><textItem><dataSource><dataItemValue refDataItem="Quantity"/></dataSource></textItem></contents><style><defaultStyles><defaultStyle refStyle="ih"/></defaultStyles><CSS value="background-color:white"/></style></rowCell><rowCell><contents><textItem><dataSource><dataItemValue refDataItem="Gross profit"/></dataSource></textItem></contents><style><defaultStyles><defaultStyle refStyle="ih"/></defaultStyles><CSS value="background-color:white"/></style></rowCell></rowCells></listRow></listRows></listHeader></listGroup></listGroups></list></contents></tableCell></tableCells></tableRow></tableRows></table></contents>                                                                                                      
                                </pageBody>                                                                             
                                <pageHeader>                                                                                
                                    <contents>                                                                          

                                    <image>                                                                         
            <dataSource>                                                                                                    
                <staticValue>../samples/images/ise.png</staticValue>                                                                                                
            </dataSource>                                                                                                   
        <style><CSS value="width:1084px;height:60px"/></style></image></contents>                                                                                                       
                                    <style>                                                                         
                                        <defaultStyles>                                                                     
                                            <defaultStyle refStyle="ph"/>                                                                   
                                        </defaultStyles>                                                                        
                                        <CSS value="padding-bottom:10px"/>                                                                      
                                    </style>                                                                            
                                </pageHeader>                                                                               
                                <pageFooter>                                                                                
                                    <contents>                                                                          
                                        <table>                                                                     
                                            <tableRows>                                                                 
                                                <tableRow>                                                              
                                                    <tableCells>                                                            
                                                        <tableCell>                                                     
                                                            <contents>                                                  
                                                                <date>                                              
                                                                    <style>                                         
                                                                        <dataFormat>                                        
                                                                            <dateFormat/>                                   
                                                                        </dataFormat>                                       
                                                                    </style>                                            
                                                                </date>                                             
                                                            </contents>                                                 
                                                            <style>                                                 
                                                                <CSS value="vertical-align:top;text-align:left;width:25%"/>                                             
                                                            </style>                                                    
                                                        </tableCell>                                                        
                                                        <tableCell>                                                     
                                                            <contents>                                                  
                                                                <pageNumber/>                                               
                                                            </contents>                                                 
                                                            <style>                                                 
                                                                <CSS value="vertical-align:top;text-align:center;width:50%"/>                                               
                                                            </style>                                                    
                                                        </tableCell>                                                        
                                                        <tableCell>                                                     
                                                            <contents>                                                  
                                                                <time>                                              
                                                                    <style>                                         
                                                                        <dataFormat>                                        
                                                                            <timeFormat/>                                   
                                                                        </dataFormat>                                       
                                                                    </style>                                            
                                                                </time>                                             
                                                            </contents>                                                 
                                                            <style>                                                 
                                                                <CSS value="vertical-align:top;text-align:right;width:25%"/>                                                
                                                            </style>                                                    
                                                        </tableCell>                                                        
                                                    </tableCells>                                                           
                                                </tableRow>                                                             
                                            </tableRows>                                                                    
                                            <style>                                                                 
                                                <defaultStyles>                                                             
                                                    <defaultStyle refStyle="tb"/>                                                           
                                                </defaultStyles>                                                                
                                                <CSS value="border-collapse:collapse;width:100%"/>                                                              
                                            </style>                                                                    
                                        </table>                                                                        
                                    </contents>                                                                         
                                    <style>                                                                         
                                        <defaultStyles>                                                                     
                                            <defaultStyle refStyle="pf"/>                                                                   
                                        </defaultStyles>                                                                        
                                        <CSS value="padding-top:10px"/>                                                                     
                                    </style>                                                                            
                                </pageFooter>                                                                               
                            </page>                                                                                 
                        </reportPages>                                                                                      
                    </layout>                                                                                           
                </layouts>                                                                                              
                <classStyles>                                                                                               
                    <classStyle name="pd_1">                                                                                            
                        <CSS value="background-color:#009933; color:#FFFFFF;"/>                                                                                     
                    </classStyle>                                                                                           
                    <classStyle name="pd_2">                                                                                            
                        <CSS value="background-color:#FFFFFF; color:#009933;"/>                                                                                     
                    </classStyle>                                                                                           
                    <classStyle name="pd_3">                                                                                            
                        <CSS value="background-color:#FFFFFF; color:#CC9900;"/>                                                                                     
                    </classStyle>                                                                                           
                    <classStyle name="pd_4">                                                                                            
                        <CSS value="background-color:#FFFFFF; color:#990000;"/>                                                                                     
                    </classStyle>                                                                                           
                    <classStyle name="pd_5">                                                                                            
                        <CSS value="background-color:#990000; color:#FFFFFF;"/>                                                                                     
                    </classStyle>                                                                                           
                </classStyles>                                                                                              
            <XMLAttributes><XMLAttribute name="RS_CreateExtendedDataItems" output="no" value="true"/><XMLAttribute name="listSeparator" output="no" value=","/><XMLAttribute name="RS_modelModificationTime" output="no" value="2013-01-08T15:30:33.117Z"/></XMLAttributes><reportName>+- ボタンで折りたたみ</reportName></report>                                                                                                 

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1