抑制Crystal ReportsのセクションDataTableの行がない場合
-
21-09-2019 - |
質問
私は抑制したいというCrystalレポート内のセクションを持っています。私が使用しているデータセット内の特定のテーブル内の0行がある場合は、それを抑制する必要があります。私はこれをどのように行うのでしょうか?レコード番号特別なフィールドは、レポート内のレコードの内部カウントしているように見えるが設けられており、基になるデータテーブル内の行とは関係ありません。
私はC#からレポートを作成していますが、私は(それがプロジェクト構造に適合しない)コードからセクションを抑制することはできません - 私は、レポート自体からそれを行うことができなければなりません。関係テーブルは間違いなく、データセット内のレポートに渡されているが、それは0行が含まれています。レポート自体の内部でこれを確立するための方法が存在しなければならない.....
缶誰も正しい方向に私を指すしてください?
解決
のCrystal Reportsデザイナで、あなたはそれを適切なブール値を返す式を与えることができ、あなたのセクションのプロパティを表示し、抑制するためのオプションがあるはずです。
あなたは、あなたはそのデータセットの行数を取得するためにカウント()関数にデータセットの名前を渡すことができます(私は信じている)その式の中にカウント()関数を使用して可能性があります。
私は約3ヶ月前に複雑なレポートで同じことをしたが、私は私はより具体的なことはできませんごめんなさいので、それ以上のジョブを変更したレポートにアクセスすることはできませんが、hoepfullyこれはあなたに開始点を提供しますます。
だけでは簡単にGoogleを持っていた - 。このにしてみてください。
他のヒント
セクションには、データベースフィールドとf.e.のみを含む場合なしテキストフィールドは、あなたはそのセクションのために、「セクションのエクスポート」(右クリック節)に設定「空セクション」を使用することができます。
あなたがそのセクションのために、「セクションのエクスポート」で「抑制」で、次の式を使用することができます別の方法としてます:
IsNull({table.field})
"{table.field}は" データセット内のフィールドのいずれかである。
希望このことができます。
ゴー「セクションエキスパート」へと「抑止(ノードリルダウン)」をクリックして、これを追加してみてください
IF {"DragYourFieldHere"} = "" then true else false
ダミーグループのグループヘッダにヘッダを追加し、各ページのためにそのヘッダをチェック、一つのダミーグループを作成します。