LoginSignup
0
0

More than 5 years have passed since last update.

Cognosのレポートで検索文字をハイライト(強調)表示する

Posted at

Cognos BIでプロンプトでレポートを実行し、ある文言で検索を行い、検索ワードをハイライト(強調表示)するレポートのサンプルです。

レポートイメージ

実行イメージはこんな感じで、「Product description」の製品説明の文章の中から、「50」という文字が含まれる製品を検索し、その出力結果で「50」という文字を、赤太字でハイライト表示するものです。
004.PNG

実装方法

リストにProductとProduct descriptionを配置し、テキストボックスのプロンプトとHTML Itemを配置します。
テキストボックスのプロンプトは、名前を「SearchWord」としています。
001.PNG

リストのクエリーに、赤枠のようなフィルターを配置しています。
002.PNG

■ 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>

あいまい検索的な使い方で、かつハイライト表示は要件として求められる事が時々ありますので、参考までに使ってみてください。

0
0
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
0
0