2

チームの仕様に合わせてレポートを変更するのに問題があります。

問題は次のとおりです。jdbc データソースからレポートを生成しています。行が1つまたは1つもないように、DBからアイテムを選択しています。行が返された場合は、結果を反映したデータを表示します。ただし、行が返されない場合は、データが表示されるはずだったグリッド全体を非表示にして、「データが見つかりません」という簡単なメッセージを表示する必要があります。

クエリにカウントを追加したり、プラグインから計算されたカウントを追加したりするなど、さまざまなアクションを試しましたが、結果が得られない場合、オフにするカウントはありません。また、デフォルトで true に設定されているブール値パラメーター showHideData を作成しようとしました。キー フィールドの 1 つが null の場合、showHideData は false に設定されます。これは次のように見えました (データセット afterClose スクリプト オプションに配置しました):

    if(row["FIRM"] != null){
        params["showHideData"] = true;
    }else {
        params["showHideData"] = false;
    }

残念ながら、null 値にアクセスできないという JavaScript エラーが表示されます。Javascriptに詳しくないのでわかりませんが、どなたか教えていただけると助かります。

4

1 に答える 1

13

これは、プロパティ エディタの [visibilty] タブを使用して行うことができます。

  1. データ テーブル (または、グリッド全体を非表示にする場合はそれを含むグリッド) で、[バインディング] タブに移動します。
  2. 関数「COUNT」を使用して集計を追加し、式のデータ セット フィールドの 1 つを選択します。
  3. [プロパティ] -> [表示] タブに移動し、[要素を非表示] にチェックマークを付け、必要に応じて集計名を置き換える式にrow["Aggregation"] == 0を入力します。
  4. 「データがありません」というラベルを含む 1x1 グリッドを作成します。
  5. グリッドをデータ セットに関連付け、上記と同じ集計を追加します。
  6. [可視性] タブで [要素を非表示] をもう一度クリックしますが、今回はrow["Aggregation"] != 0を使用します。
于 2012-07-31T16:01:44.370 に答える