概要
Cognosのレポートで、以下のイメージの様に、+ - ボタンで展開や折りたたみを実装したい場合の、JavaScriptでのカスタマイズ例です。
実装方法
Report Authoringのイメージは、こんなイメージです。
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;quot;http://developer.cognos.com/schemas/report/8.0/&amp;amp;quot; から &amp;amp;quot;http://developer.cognos.com/schemas/report/11.0/&amp;amp;quot; へアップグレードされました。 18:1:18--><!--RSU-SPC-0093 The report specification was upgraded from &amp;amp;amp;quot;http://developer.cognos.com/schemas/report/4.0/&amp;amp;amp;quot; to &amp;amp;amp;quot;http://developer.cognos.com/schemas/report/8.0/&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><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></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><script>
StartHidden();
</script></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><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'></staticValue>
</dataSource>
</HTMLItem><textItem><dataSource><dataItemValue refDataItem="Country"/></dataSource></textItem><HTMLItem>
<dataSource>
<staticValue></span>
</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><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'></staticValue>
</dataSource>
</HTMLItem><textItem><dataSource><dataItemValue refDataItem="Product line"/></dataSource></textItem><HTMLItem>
<dataSource>
<staticValue></span>
</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>