Cognos BIでプロンプトでレポートを実行し、ある文言で検索を行い、検索ワードをハイライト(強調表示)するレポートのサンプルです。
レポートイメージ
実行イメージはこんな感じで、「Product description」の製品説明の文章の中から、「50」という文字が含まれる製品を検索し、その出力結果で「50」という文字を、赤太字でハイライト表示するものです。
実装方法
リストにProductとProduct descriptionを配置し、テキストボックスのプロンプトとHTML Itemを配置します。
テキストボックスのプロンプトは、名前を「SearchWord」としています。
リストのクエリーに、赤枠のようなフィルターを配置しています。
■ HTML Itemの記述
<script type="text/javascript">
window.onload=putColor;
function putColor(){
var table = document.getElementsByClassName("ls");
var tdList = {};
for (var i=1; i < table[0].rows.length; i++){
//テーブルの内容を配列に格納
tdList[i] = table[0].rows[i].getElementsByTagName("td")[1].getElementsByTagName("span")[0].innerHTML;
//プロンプトの値を取得
var fW = (typeof getFormWarpRequest == "function" ? getFormWarpRequest() :
document.forms["formWarpRequest"]);
var searchWord = fW._textEditBoxSearchWord.value;
//テーブルのコメント内の検索値を強調表示(赤太文字)
if(typeof searchWord !== "undefined"){
table[0].rows[i].getElementsByTagName("td")[1].getElementsByTagName("span")[0].innerHTML = tdList[i].split(searchWord).join("" + searchWord + "");
}
}
}
putColor();
</script>
あいまい検索的な使い方で、かつハイライト表示は要件として求められる事が時々ありますので、参考までに使ってみてください。