ReportViewer for ASP.NET Web Forms

Size: px
Start display at page:

Download "ReportViewer for ASP.NET Web Forms"

Transcription

1 ReportViewer for ASP.NET Web Forms 更 新 グレープシティ 株 式 会 社

2 目 次 製 品 の 概 要 8 ComponentOne Studio for ASP.NET Web Forms のヘルプ 8 主 な 特 長 9-10 機 能 一 覧 11 レポートビューワの 機 能 11 レポート/ドキュメントの 作 成 機 能 11 キャッシュの 機 能 テーマの 機 能 12 デザイン 時 の 機 能 12 クイックスタート 13 手 順 1:アプリケーションの 作 成 13 手 順 2:レポートをコントロールに 追 加 する 手 順 3:アプリケーションの 実 行 C1ReportViewer コントロール 16 レポートおよびドキュメントを 表 示 する 複 数 ページのレポートの 表 示 C1ReportViewer の 要 素 19 ツールバー ナビゲーションペイン プレビューペイン デザイン 時 のサポート 23 C1ReportViewer スマートタグ C1ReportViewer コンテキストメニュー 実 行 時 の 操 作 26 レポートを 印 刷 する レポートをエクスポートする レポートの 表 示 方 法 を 変 更 する 28 レポートをズームする 28 レポートをナビゲートする レポートを 検 索 する Copyright GrapeCity inc. All rights reserved.

3 C1ReportViewer の 外 観 31 テーマ テーマの 変 更 34 C1Report の 使 い 方 35 オブジェクトモデル レポートのセクション クライアントアプリケーションの 開 発 38 組 み 込 みレポート( 設 計 時 に 読 み 込 み) 組 み 込 みレポート( 設 計 時 に 作 成 ) 実 行 時 に 読 み 込 まれるレポート 実 行 時 にカスタマイズされるレポート Web アプリケーションの 開 発 44 静 的 Web レポート 動 的 Web レポート レポートの 作 成 読 み 込 み 描 画 レポート 定 義 の 作 成 レポートデータの 読 み 込 み 58 データベースから 読 み 込 む ストアドプロシージャからのデータのロード XSD ファイルからのデータのロード DataTable から 読 み 込 む カスタムデータソースから 読 み 込 む 63 グループ 化 とソート 63 データのグループ 化 データをソートする 68 レポートへ 積 算 合 計 を 追 加 する 小 計 などの 集 計 の 追 加 クロスタブ 型 レポートを 作 成 する 70 VBScript 式 オブジェクトと 変 数 互 換 性 のための 関 数 集 計 関 数 の 使 い 方 イベントの 使 用 Copyright GrapeCity inc. All rights reserved.

4 値 に 応 じてフィールドを 書 式 設 定 する 値 に 応 じてフィールドを 表 示 または 非 表 示 にする ユーザーにパラメータの 入 力 を 求 める フィールドのサイズを 変 更 して 棒 グラフを 作 成 する 便 利 な 機 能 の 活 用 84 パラメータクエリー アンバウンドレポート データセキュリティ 88 Windows NT 統 合 セキュリティ 88 パスワードを 含 む 接 続 文 字 列 アプリケーション 定 義 のエイリアス カスタムデータセット 91 C1Report デザイナの 使 い 方 92 C1Report デザイナについて [アプリケーション]ボタン [デザイン]タブ 94 [ 編 集 ]グループ [フォント]グループ 95 [データ]グループ [フィールド]グループ [ツール]グループ 98 [レイアウト]タブ 98 [ 自 動 フォーマット]グループ [グリッド]グループ 100 [ 配 置 ]グループ 100 [ 位 置 ]グループ [サイズ]グループ 101 [ページ 設 定 ]タブ 101 [ページレイアウト]グループ [プレビュー]タブ 102 [ 印 刷 ]グループ 102 [ズーム]グループ 102 [ 移 動 ]グループ Copyright GrapeCity inc. All rights reserved.

5 [ツール]グループ [エクスポート]グループ 104 [プレビューを 閉 じる]グループ 104 Visual Studio からの C1Report デザイナへのアクセス C1Report デザイナオプションの 設 定 基 本 的 なレポート 定 義 ファイルの 作 成 レポートレイアウトの 変 更 フィールドによるレポートの 強 化 114 グラフフィールドの 追 加 グラデーションフィールドの 追 加 フィールドの 選 択 移 動 およびコピー プロパティの 変 更 121 データソースの 変 更 121 サブレポートを 使 用 したマスター/ 詳 細 レポートの 作 成 レポートのプレビューと 印 刷 レポートのエクスポートと 配 布 127 レポート 定 義 ファイルの 管 理 Microsoft Access レポートのインポート Crystal Reports レポートのインポート 132 C1PrintDocument の 使 い 方 133 描 画 オブジェクト 描 画 オブジェクトの 階 層 描 画 オブジェクトの 包 含 配 置 スタック 規 則 135 表 示 領 域 スタック 規 則 136 描 画 オブジェクトのサイズと 位 置 の 指 定 表 示 オブジェクトの 相 対 位 置 決 め 方 式 の 例 描 画 オブジェクトの 影 オブジェクトの 枠 線 144 スタイル 144 Style プロパティを 持 つクラス 144 インラインスタイルと 非 インラインスタイル Copyright GrapeCity inc. All rights reserved.

6 アンビエントスタイルプロパティと 非 アンビエントスタイルプロパティ 146 スタイルの 継 承 - Parent と AmbientParent スタイルプロパティとそのデフォルト 値 複 雑 なスタイルプロパティのサブプロパティ 148 計 算 されたスタイルプロパティ 段 落 オブジェクトのスタイル テーブルのスタイル 150 テーブル セル 列 および 行 へのアクセス 151 テーブルと 列 の 幅 行 の 高 さ 行 と 列 のグループ - ヘッダーとフッター ユーザーセルグループ テーブル 内 のスタイル 156 アンカーとハイパーリンク 同 じドキュメント 内 のアンカーへのハイパーリンクを 追 加 する 別 のC1PrintDocument 内 のアンカーへのハイパーリンクを 追 加 する 現 在 のドキュメント 内 の 場 所 へのハイパーリンクを 追 加 する 外 部 ファイルへのハイパーリンクを 追 加 する 同 じドキュメント 内 のページへのハイパーリンクを 追 加 する 161 ユーザーイベントへのハイパーリンクを 追 加 する リンクターゲットクラスの 階 層 163 式 スクリプト タグ タグ タグ/ 式 の 構 文 165 実 行 時 のタグ 値 の 編 集 すべてのタグの 表 示 特 定 のタグの 表 示 [タグ]ダイアログボックスを 表 示 する 場 合 の 指 定 デフォルトの[タグ]ダイアログボックスの 定 義 スクリプト/ 式 の 言 語 170 アセンブリと 名 前 空 間 テキスト 式 でアクセス 可 能 な ID フィルタ グループ 化 およびソート 内 で 式 にアクセス 可 能 な ID Copyright GrapeCity inc. All rights reserved.

7 DataSet 内 の 集 計 フィールドの 指 定 に 使 用 する 式 でアクセス 可 能 な ID データ 連 結 177 レンダリングオブジェクトのデータ 連 結 RenderTable によるデータ 連 結 の 使 用 データ 連 結 のサンプル 181 グループの 使 用 集 計 の 使 用 データ 集 計 目 次 188 用 語 索 引 188 索 引 生 成 機 能 をサポートするクラス コードによる 索 引 の 生 成 189 索 引 の 外 観 のカスタマイズ 索 引 のスタイルの 階 層 生 成 される 索 引 の 構 造 191 アウトライン 埋 め 込 みフォント 192 フォントの 代 替 192 選 択 フォントの 埋 め 込 み 辞 書 C1Report 定 義 C1Report インポートの 制 限 195 プリンタドライバでの 作 業 レポートビューアのタスク 別 ヘルプ 198 ReportViewer でのエラー 処 理 の 有 効 化 ReportViewer への 柔 軟 なサイズ 変 更 の 追 加 レポートドキュメントへのハイパーリンクの 追 加 ReportViewer への 動 的 レポートの 追 加 レポートのタスク 別 ヘルプ 210 画 像 フィールドの 追 加 210 連 結 画 像 の 作 成 210 透 かし 模 様 を 含 むレポートを 作 成 する レポートフィールドの 作 成 Copyright GrapeCity inc. All rights reserved.

8 グラフの 作 成 カスタムフィールドの 作 成 ページヘッダのカスタマイズ 213 ページヘッダへ 継 続 状 態 を 示 す 文 字 列 を 追 加 する 213 ページヘッダを 動 的 に 変 更 する ページレイアウトのカスタマイズ 214 改 ページを 制 御 する フィールドのサイズを 自 動 的 に 調 整 する とじしろ 余 白 の 作 成 グローバル 定 数 の 定 義 と 使 用 217 カスタム 用 紙 サイズの 指 定 レポートのフォーマット 行 おきに 色 を 変 更 する 背 景 色 の 追 加 条 件 付 き 書 式 の 追 加 値 に 基 づいたフィールドの 書 式 の 編 集 220 ゼロの 表 示 と 非 表 示 を 制 御 する 非 連 結 画 像 の 作 成 レポート 定 義 の 読 み 込 み 222 ファイルから 読 み 込 む 文 字 列 から 読 み 込 む 224 サブレポートの 制 御 224 サブレポートのヘッダーを 表 示 する サブレポートから 値 を 取 得 する 225 レポートの 出 力 225 出 力 の 進 行 状 況 を 表 示 する レポートをプレビューする レポートを 印 刷 する レポートをエクスポートする PDFのセキュリティ 情 報 を 設 定 する 外 字 の 出 力 230 レポート 定 義 の 保 存 Copyright GrapeCity inc. All rights reserved.

9 製 品 の 概 要 ズーム ページング サムネイル アウトライン 等 の 豊 富 な 機 能 を 持 つ ComponentOne の WebPaper 技 術 が ASP.NET でレ ポーティングの 性 能 を 発 揮 します ReportViewer for ASP.NET Web Forms は この 技 術 を 使 用 して 忠 実 度 の 高 いグラフィ カル 形 式 で 独 特 のピクセルパーフェクトなレポートを 出 力 します ナビゲーション 検 索 印 刷 エクスポート 等 の 組 み 込 みツー ルバーが 備 えられ ユーザに 操 作 しやすいユーザインタフェースを 提 供 しています さらに Crystal Reports Microsoft Access Microsoft SQL Reporting Services を 含 めて 様 々なレポート 形 式 に 統 合 しやすくなっています ユーザは 任 意 の Web レポートを 強 力 で 印 刷 可 能 な Web 文 書 に 高 速 に 変 換 できます ComponentOne Studio for ASP.NET Web Forms のヘルプ ComponentOne Studio for ASP.NET Web Forms の 各 コントロールで 共 通 したトピック アセンブリの 追 加 テーマの 適 用 ク ライアント 側 情 報 などについては ASP.NET Web Forms ユー ザーガイド を 参 照 してください 8 Copyright GrapeCity inc. All rights reserved.

10 主 な 特 長 ReportViewer for ASP.NET Web Forms は 次 の 主 な 特 長 を 備 えています ブラウザに 関 わらずピクセルパーフェクトなレポートを 表 示 C1ReportViewer は WebPaper を 使 用 して 独 特 のピクセルパーフェクトなレポートを 出 力 します ComponentOne の WebPaper 技 術 を 使 用 して 忠 実 度 の 高 いグラフィカル 形 式 でレポートを 描 画 できます Crystal Reports C1ReportViewer は Microsoft Access および Crystal Reeports の 両 方 の 機 能 に 対 応 します C1ReportDesigner でボタンをクリックするだけでAccess のレポートファイル(MDB ファイル)とCrystal Reports ファイル(RPTファイル)をイン ポートできます Microsoft Access と SQL Reporting Services レポート C1ReportViewer は Microsoft レポート 技 術 を 広 範 囲 にサポートしています ビューアは Access と SQL Reporting Services レポートの 両 方 に 対 応 しています RDL に 対 応 し WebPaper 技 術 を 使 用 してウェブアプリケーションに 組 み 込 まれている 既 存 の 企 業 レポートを 利 用 できます ズーム デフォルトで レポートがページに 合 わせるように 拡 大 されますが 実 際 のサイズで 表 示 したり ページの 幅 がプレ ビューウィンドウに 合 わせるように 設 定 したり 内 容 の 幅 がプレビューウィンドウに 合 わせるように 設 定 したりすることが 可 能 です また Zoom プロパティの 値 を 設 定 してカスタムズームモードに 設 定 することもできます エクスポート レポートをExcel, PDF, HTML 等 さまざまなポータブル 形 式 で 出 力 でき 簡 単 にメールに 添 付 したり 他 の 企 業 と 共 有 し たりすることが 可 能 です アウトラインの 自 動 生 成 レポートグループに 応 じて 自 動 的 にアウトラインツリーが 作 成 され Adobe Reader でレポート 内 の 任 意 の 場 所 へ 移 動 できます ツリー 内 の 各 ノードがレポートのグループヘッダセクションを 示 します 非 表 示 のグループヘッダセクション は PDF にてアウトライン 項 目 を 生 成 しません ページング/スクロールによるナビゲーション C1ReportViewer の 表 示 ペインでは ページングとスクロールによるナビゲーションが 可 能 です ユーザがボタンをク リックするだけで 任 意 のビューに 切 り 替 えできます 組 み 込 み 検 索 C1ReportViewer コントロールでは 組 み 込 みの 検 索 ペインがあり レポートの 自 動 生 成 されたインデックスへクエリし ます この 機 能 でユーザがコードを 書 く 必 要 がなく 高 性 能 のある 検 索 ツールを 使 用 できます さらに C1ReportViewer 検 索 結 果 を 強 調 表 示 してメニューを 作 成 するので ユーザーが 探 している 文 字 列 を 見 つけるのに 役 立 ちます 効 率 的 なキャッシュ 操 作 C1ReportViewer が 効 率 的 にレポートをキャッシュし 反 応 時 間 を 大 幅 に 削 減 します 本 コントロールでレポートが 描 画 されるたびに 圧 縮 状 態 でサーバーに 保 存 されますので 次 回 データベースへ 再 度 クエリしてレポートを 生 成 する 必 要 はありません これにより サーバーの 負 荷 が 軽 減 され 低 メモリコストで 短 い 反 応 時 間 を 実 現 できます 強 力 な 印 刷 機 能 C1ReportViewer コントロールでは 組 み 込 みの 印 刷 機 能 があり 含 まれている 印 刷 ボタンをクリックするとカスタム 印 刷 ダイアログが 表 示 されます ユーザがこのダイアログでレポートの 印 刷 方 法 を 指 定 でき ドキュメントのプレビューを 見 ることもできます C1ReportDesigner アプリケーション コードを 書 く 必 要 はなく すぐにレポートの 作 成 編 集 プレビュー 読 み 込 み 保 存 を 行 えます ま た C1ReportDesigner は Microsoft Access と 同 様 なユーザインターフェースを 実 装 し ユーザーが 馴 染 みのある 環 境 を 提 供 します デザイナの Microsoft Office 2007 のようなリボンスタイルUIで 関 連 するコマンドがグループで 表 示 され レポートの 設 計 時 間 を 減 らします 9 Copyright GrapeCity inc. All rights reserved.

11 バンド レポート モデル Reports はグループ セクションとフィールドを 元 にバンド レポート モデルを 使 用 し 非 常 に 整 理 されたレポートレイア ウトが 実 現 できます 30 以 上 の 組 み 込 みレポートテンプレート デザイナアプリケーションには 30 個 以 上 のレポートテンプレートが 存 在 します C1ReportViewer のサンプルの 中 か らレポートを 選 択 するだけで 数 分 で 専 門 的 なスタイルのレポートが 生 成 されます コードを 記 述 する 必 要 はなく クリッ ク 一 つできれいなレポートが 生 成 されます! 柔 軟 なデータ 連 結 レポート 定 義 にて 接 続 文 字 列 とSQL 文 を 指 定 すると C1ReportViewer が 自 動 的 にデータをロードします また XML ファイル カスタムコレクション 等 他 のデータソースも 使 用 できます ネスト 化 したレポート C1ReportViewer では 任 意 のレベルまでのネスト 化 (サブレポート)が 可 能 です メインレポートで 詳 細 情 報 を 表 示 し サブレポートで 各 グループの 先 頭 に 概 要 を 表 示 することができます 10 Copyright GrapeCity inc. All rights reserved.

12 機 能 一 覧 このトピックでは ReportViewer for ASP.NET Web Formsの 主 な 機 能 の 一 覧 と 機 能 を 理 解 するのに 役 立 つページへのリン クを 記 載 しています レポートビューワの 機 能 機 能 サンプル ヘルプ リファレンス KB 印 刷 エクスポート(PDF Open XML Excel Open XML Word RTF) ナビゲーションペインのツール(アウトラインペイン 検 索 ペイン サムネイル ペイン) ツールパネルの 折 りたたみ ツールパネルの 展 開 スプリッタの 位 置 ステータスバーの 表 示 ツールバー ツールバーの 表 示 コンソールログ エクスポートファイル 名 全 画 面 表 示 表 示 方 法 (ページ 内 でスクロール 連 続 ページでスクロール) ズーム 率 ( 実 際 のサイズ ページに 合 わせる 幅 に 合 わせる 高 さに 合 わせ る % 単 位 ) レポートサービスのURL レポートデータの 格 納 パス パラメータ 入 力 画 面 の 表 示 レポート/ドキュメントの 作 成 機 能 機 能 サンプル ヘルプ リファレンス KB レポートファイル 名 レポート 名 C1Reportの 作 成 C1PrintDocumentの 作 成 C1RdlReportの 作 成 ドキュメントの 登 録 11 Copyright GrapeCity inc. All rights reserved.

13 キャッシュの 機 能 機 能 サンプル ヘルプ リファレンス KB キャッシュの 有 効 キャッシュの 有 効 期 限 キャッシュの 優 先 度 セッション 間 でのキャッシュの 共 有 キャッシュ 取 得 時 のタイマーリセット キャッシュの 削 除 キャッシュの 有 無 の 確 認 テーマの 機 能 機 能 サンプル ヘルプ リファレンス KB 7 種 類 の 組 み 込 みテーマ jquery UIテーマ jquery UI ThemeRoller デザイン 時 の 機 能 機 能 サンプル ヘルプ リファレンス KB スマートタグ 12 Copyright GrapeCity inc. All rights reserved.

14 クイックスタート このクイックスタートは C1ReportViewer を 初 めて 使 用 するユーザーのために 用 意 されています このクイックスタートで は C1ReportViewer コントロールを 使 用 してレポートを 表 示 する 簡 単 なWeb サイトを 作 成 します この 例 では サンプルファ イルとして 製 品 付 属 のサンプルフォルダに 含 まれているCommonTasks.xml を 使 用 します 手 順 1:アプリケーションの 作 成 C1ReportViewer コントロールとは 作 成 および 設 定 するのは 簡 単 です この 手 順 では 新 しいアプリケーションを 作 成 して ページに 容 易 に C1ReportViewer コントロールを 追 加 することを 表 しています 以 下 の 手 順 を 実 行 します 1. Visual Studio で [ファイル] [ファイル] [[ 新 規 作 成 ] [プロジェクト]を 選 択 します [ 新 しいプロジェクト]ダイアログボックスが 表 示 されます 2. [ 新 しいプロジェクト]ダイアログボックスの 左 ペインからいずれかの 言 語 を 展 開 してテンプレートリストから[Web]を 選 択 します 右 ペインから[ASP.NET 空 の Web アプリケーション]を 選 択 し プロジェクトの 名 前 を 入 力 します [ [OK]をク リックすると 新 しいアプリケーションが 作 成 されます 3. ソリューションエクスプローラ でプロジェクトを 右 クリックして[ [ 新 しい 項 目 の 追 加 ]を 選 択 します 4. [ 新 しい 項 目 の 追 加 ]ダイアログボックスでは [インストールされたテンプレート]から Web フォーム を 選 択 し 項 目 を Default.aspx と 名 前 付 けて[ [ 追 加 ]をクリックします 新 しいページが 表 示 されます 5. ソリューションエクスプローラ でプロジェクトを 右 クリックして[ [ 新 しいフォルダー]を 選 択 します 新 規 フォルダに App_Data の 名 前 をつけます 6. ドキュメントウィンドウの 下 端 にある[デザイン] [デザイン]タブをクリックしてデザインビューに 切 り 替 えます 7. Visual Studio のツールボックスに 移 動 して C1ReportViewer コントロールをダブルクリックしてページに 追 加 します C1ReportViewer コントロールは 完 全 に 機 能 するレポートビューアであることに 注 意 してください コントロールの 他 の 部 分 の 詳 細 については C1ReportViewer の 要 素 を 参 照 してください ここまでは Webサイトを 作 成 してページに C1ReportViewer コントロールを 追 加 しました 次 の 手 順 では コントロールに 表 示 するレポートを 追 加 します 手 順 2:レポートをコントロールに 追 加 する 前 の 手 順 では 新 しいアプリケーションを 作 成 してプロジェクトに C1ReportViewer を 追 加 しました この 手 順 では アプリ ケーションにデータソースを 追 加 してまったくコードを 使 用 せずにC1ReportViewer コントロールにレポートを 読 み 込 みます また 製 品 サンプルの CommonTasks.xml ファイルを 使 用 します 以 下 の 手 順 を 実 行 します 1. ソリューションエクスプローラで プロジェクトを 右 クリックして 表 示 するコンテキストメニューから[ [ 追 加 ] [[ 新 しいフォル ダ]を 選 択 します 2. 新 しいフォルダは ~/tempreports と 名 前 付 けます 3. ソリューションエクスプローラウィンドウで App_Data フォルダを 右 クリックして コンテキストメニューから[ [ 既 存 項 目 の 追 加 ]を 選 択 します [ 既 存 項 目 の 追 加 ]ダイアログボックスが 表 示 されます 4. [ 既 存 項 目 の 追 加 ]ダイアログボックスで Northwind データベースの 場 所 に 移 動 し Nwind.mdb を 選 択 します そし て 追 加 をクリックし ダイアログボックスを 閉 じて ファイルをプロジェクトに 追 加 します デフォルト 設 定 では Northwind データベース Nwind.mdb が C:\Program Files\Common Files\C1Studio\Data 13 Copyright GrapeCity inc. All rights reserved.

15 ディレクトリにあることを 想 定 しています 5. ソリューションエクスプローラウィンドウで App_Data フォルダを 右 クリックして [ 既 存 項 目 の 追 加 ]ダイアログボックス が 表 示 されます 6. [ 既 存 項 目 の 追 加 ]ダイアログボックスで CommonTasks.xml レポート 定 義 ファイルの 場 所 に 移 動 し 選 択 します そ して 追 加 をクリックし ダイアログボックスを 閉 じて ファイルをプロジェクトに 追 加 します デフォルト 設 定 では Nwind.mdb ファイルは C:\Program Files\Common Files\C1Studio\Data ディレクトリに 保 存 されています レポート 定 義 ファイルは 別 のユーティリティ C1Report デザイナで 作 成 されます C1Report デザイナは Access のレポートジェネレータと 同 様 の 機 能 を 持 ちます このデザイナでは 新 しいレポートを 最 初 から 作 成 す るか Microsoft Access や Crystal Reports から 既 存 のレポートをインポートできます C1Report デザイナの 詳 細 については C1Report デザイナの 使 い 方 を 参 照 してください 7. C1ReportViewer を 一 回 クリックして 選 択 し プロパティウィンドウに 移 動 します 8. プロパティウィンドウで FileName プロパティを ~/CommonTasks.xml に 設 定 します 9. プロパティウィンドウで ReportName プロパティを 01: 1 行 おきに 変 化 する 背 景 色 に 設 定 します これによって C1ReportViewer はこのレポートを 実 行 時 に 表 示 します この 手 順 では アプリケーションにデータソースを 追 加 し 任 意 のコードを 使 用 せずに C1ReportViewer コントロールにレポー トをロードしました 次 の(そして 最 後 )の 手 順 で アプリケーションを 実 行 し C1ReportViewer コントロールを 実 行 時 に 確 認 し ます 手 順 3:アプリケーションの 実 行 前 の 手 順 では C1ReportViewer コントロールにレポートを 作 成 してコントロールに 表 示 するように 追 加 しました この 最 後 のステップ では アプリケーションを 実 行 して 実 行 時 に C1ReportViewer コントロールを 操 作 します 以 下 の 手 順 を 実 行 します 1. アプリケーションを 実 行 します C1ReportViewer コントロールは CommonTasks.XML ファイルの 01: 1 行 おきに 変 化 する 背 景 色 レポートを 表 示 します 14 Copyright GrapeCity inc. All rights reserved.

16 2. 次 のページ 矢 印 ボタンをクリックします 示 したレポートの 次 のページに 移 動 されることを 確 認 してください 3. 目 次 から 一 つの 項 目 をクリックします ( 例 : 加 工 食 品 ) ここは C1ReportViewer コントロールはレポートの 指 定 したセクションが 表 示 されることを 確 認 してください 4. ズームアウトボタンを 数 回 クリックします 表 示 されたレポートはより 小 さく 表 示 されることを 確 認 してください 5. 連 続 表 示 ボタンをクリックします なお レポートをスクロールすると 連 続 にスクロールされます おめでとうございます!ReportViewer for ASP.NET Web Forms クイックスタートは 完 了 しました C1ReportViewer コントロール でレポートを 表 示 するには レポート 定 義 ファイルを 追 加 する 方 法 を 説 明 しました また 実 行 時 の 操 作 もいくつか 試 してみました 15 Copyright GrapeCity inc. All rights reserved.

17 C1ReportViewer コントロール ReportViewer for ASP.NET Web Forms ReportViewer for ASP.NET Web Forms が 提 供 する C1ReportViewer は C1Studio のレポート 製 品 によって 生 成 された レポートやドキュメントを ユーザーが Web アプリケーションで 表 示 および 参 照 することができるコントロールです ビューアの サーバー 側 のコードは C1Report のアセンブリ(Reports for Windows Forms と 同 じ DLL - C1.C1Report.4.dll)を 使 用 してド キュメントやレポートを 生 成 することと ビューアにページを 提 供 しています ReportViewer のクラスは C1.Web.Wijmo.Controls.C1Report.C1ReportViewer です ビューアは ComponentOne で Web Paper と 呼 ばれる 革 新 的 な 技 術 を 使 用 してレポートを 表 示 します Web Paper の 技 術 は レポートが 非 常 に 高 い 忠 実 度 で 表 示 することができ テキストの 選 択 /コピー/ 検 索 機 能 を 備 えます レポートおよびドキュメントを 表 示 する C1ReportViewer コントロールは C1Reportによって 生 成 することができる 任 意 のレポートまたはドキュメントを 表 示 すること ができます レポートまたはドキュメントを 表 示 するには 次 の2つのビューアのパブリックプロパティで 指 定 できます FileName: レポートまたはドキュメントのファイル 名 を 取 得 または 設 定 します ReportName: レポートの 名 前 を 取 得 または 設 定 します FileName と ReportName プロパティはデザイン 時 に 設 定 することができます C1ReportViewer コントロールで 次 のようなドキュメントを 表 示 することができます XML ファイルからロードされた C1Report ( 例 えば C1Report と 付 属 する CommonTasks.xml サンプルレポートなど) このようなドキュメントを 指 定 するには FileName と ReportName プロパティを 指 定 する 必 要 があります C1ReportViewer1.FileName = "~/CommonTasks.xml" C1ReportViewer1.ReportName = "01: 1 行 おきに 変 化 する 背 景 色 " C1ReportViewer1.FileName = "~/CommonTasks.xml"; C1ReportViewer1.ReportName = "01: 1 行 おきに 変 化 する 背 景 色 "; C1D または C1DX ファイルからロードされた C1PrintDocument これを 設 定 するには FileName プロパティを.c1d/.c1dx ファイル 名 に 設 定 する 必 要 があります C1ReportViewer1.FileName = "~/MyDocument.c1dx" C1ReportViewer1.FileName = "~/MyDocument.c1dx"; RDL 定 義 ファイルからロードされた RDL レポート C1ReportViewer1.FileName = "~/MyRdlReport.rdl" C1ReportViewer1.FileName = "~/MyRdlReport.rdl"; 16 Copyright GrapeCity inc. All rights reserved.

18 複 数 ページのレポートの 表 示 複 数 ページのレポート 全 体 が1つのページに 表 示 され テキストが 重 なってしまう 場 合 があります PDF ファイルにエクスポート すると レポートは 正 しく 表 示 されますが C1ReportViewer の 表 示 が 不 正 になります この 問 題 を 解 決 するに は MakeReport() メソッドを 編 集 して ドキュメントの 代 わりにレポートを 返 す 必 要 があります MakeReport() メソッドの 編 集 最 初 MakeReport() メソッドは 次 の 例 のようになっています Public Function MakeReport() As C1.C1Preview.C1PrintDocument public C1.C1Preview.C1PrintDocument MakeReport() 次 の 例 のように MakeReport() メソッドを 編 集 する 必 要 があります Public Function MakeReport() As C1.C1Report.C1Report public C1.C1Report.C1Report MakeReport() レポートを 返 す MakeReport() メソッドを 編 集 したら ドキュメントではなくレポートを 返 す 必 要 があります 次 のコードを 使 用 して レポートを 返 すことができます Return rpt return rpt; MakeReport() メソッドでレポートを 返 すコード 全 体 については 次 のサンプルを 参 照 してください Public Function MakeReport() As C1.C1Report.C1Report ' ダミーデータテーブル Dim dr As DataRow Dim dt As New DataTable dt.columns.add("row") For i As Integer = 0 To 100 dr = dt.newrow dr("row") = "This is row " & i dt.rows.add(dr) 17 Copyright GrapeCity inc. All rights reserved.

19 Next ' レポートを 連 結 します Dim rpt As New C1.C1Report.C1Report() rpt.load(server.mappath("rpttest.xml"), "Test") rpt.datasource.recordset = dt Return rpt End Function public C1.C1Report.C1Report MakeReport() { // ダミーデータテーブル DataRow dr = null; DataTable dt = new DataTable(); dt.columns.add("row"); for (int i = 0; i <= 100; i++) { dr = dt.newrow(); dr["row"] = "This is row " + i; dt.rows.add(dr); } // レポートを 連 結 します C1.C1Report.C1Report rpt = new C1.C1Report.C1Report(); rpt.load(server.mappath("rpttest.xml"), "Test"); rpt.datasource.recordset = dt; return rpt; } 18 Copyright GrapeCity inc. All rights reserved.

20 C1ReportViewer の 要 素 このセクションでは C1ReportViewer コントロールを 構 成 する 要 素 の 視 覚 的 で 詳 しい 説 明 を 提 供 します C1ReportViewer は 複 数 の 異 なる 要 素 で 構 成 されています C1ReportViewerコントロールは ツールバー アウトライン 検 索 サムネイルペ イン およびレポートのプレビュー 領 域 を 含 んでいます 実 行 時 に コントロールは 次 のように 表 示 されます この 形 式 は Adobe Reader などのビューアで 表 示 するPDFと 似 ているため エンドユーザーになじみのあるものです ツールバー デフォルトでは 実 行 時 にツールバーは C1ReportViewer の 上 部 に 表 示 されています ツールバーを 使 用 して 実 行 時 にレ ポートを 印 刷 保 存 ページ 操 作 表 示 方 法 の 変 更 などを 実 現 できます また ツールバーを 表 示 したくない 場 合 は ToolBarVisible プロパティを False に 設 定 します ツールバーは 次 のように 表 示 されます ツールバーには 次 のオプションが 含 まれています 印 刷 印 刷 ボタンは ユーザーがレポートを 印 刷 できる 印 刷 ダイアログボックスを 開 きます 詳 細 については レポートを 印 刷 する トピックを 参 照 してください 最 初 のページ レポートの 最 初 のページに 移 動 します 詳 細 については レポートをナビゲートする トピックを 参 照 してください 前 のページ レポートの 前 のページに 移 動 します 詳 細 については レポートをナビゲートする トピックを 参 照 してください 19 Copyright GrapeCity inc. All rights reserved.

21 ページ 現 在 選 択 されているページを 示 し ユーザーは 表 示 するページを 選 択 することができます 詳 細 については レポート をナビゲートする トピックを 参 照 してください 次 のページ レポートの 次 のページに 移 動 します 詳 細 については レポートをナビゲートする トピックを 参 照 してください 最 後 のページ レポートの 最 後 のページに 移 動 します 詳 細 については レポートをナビゲートする トピックを 参 照 してください ズームアウト ズームアウトボタンは 表 示 しているレポートのサイズを 縮 小 します 詳 細 については レポートをズームする トピック を 参 照 してください ズームイン ズームインボタンは 表 示 しているレポートのサイズを 拡 大 します 詳 細 については レポートをズームする トピックを 参 照 してください 現 在 のズーム 現 在 のズーム 倍 率 を 示 し ユーザーは 事 前 定 義 のズームオプションから 選 択 することもできます 詳 細 については レポートをズームする トピックを 参 照 してください 連 続 表 示 ユーザーは 連 続 ページ 形 式 でレポートを 表 示 することができます 詳 細 については レポートの 表 示 方 法 を 変 更 する トピックを 参 照 してください フルスクリーン:ビューアをフルスクリーンモードで 表 示 するかどうかを 指 定 します フルスクリーンモードが 有 効 な 場 合 ドキュメントのオーバーフロースタイルが 非 表 示 に 変 更 され ビューアが 親 コンテナいっぱいに 表 示 されます 実 行 時 にツールバーを 使 用 することの 詳 細 については 実 行 時 の 操 作 トピックを 参 照 してください ナビゲーションペイン デフォルトでは C1ReportViewer コントロールの 左 側 にアウトラインペイン 検 索 ペイン サムネイルペインの3つのツールペ インが 表 示 されています アウトラインペインは レポートの 目 次 のような 役 目 を 果 たし 表 示 しているレポートのセクションの 一 覧 を 作 成 するため ユーザーがレポート 内 に 特 定 の 場 所 に 移 動 することができます 検 索 ペインでは ユーザーがレポート から 特 定 の 単 語 や 文 字 列 を 検 索 することができます そして サムネイルペインでは レポートの 各 ページのサムネイルを 表 示 し ユーザーが 視 覚 的 に 特 定 の 画 像 や 文 書 内 のセクションに 移 動 することができます レポートのアウトラインペインは 次 の 画 像 のように 表 示 されます これらのいずれかのオプションをクリックすることにより ユーザーはそのセクションに 移 動 することができます 詳 細 について 20 Copyright GrapeCity inc. All rights reserved.

22 は レポートをナビゲートする トピックを 参 照 してください 検 索 ペインは 次 の 画 像 のように 表 示 されます ユーザーが 実 行 時 に 単 語 または 語 句 を 検 索 し レポート 内 その 単 語 または 語 句 のインスタンスにジャンプすることができま す 詳 細 については レポートを 検 索 する トピックを 参 照 してください サムネイルペインは 次 の 画 像 のように 表 示 されます プレビューペイン デフォルトでは プレビューペインは C1ReportViewer コントロールの 右 側 に 表 示 されます プレビューペインでは ユーザー が 現 在 コントロールに 表 示 されているレポートを 表 示 することができます たとえば レポートはズームアウトして 表 示 すると 次 の 画 像 のような 表 示 になります 21 Copyright GrapeCity inc. All rights reserved.

23 22 Copyright GrapeCity inc. All rights reserved.

24 デザイン 時 のサポート 次 のセクションでは C1ReportViewer コントロールを 構 成 するため C1ReportViewer のデザイン 時 の 環 境 を 使 用 する 方 法 について 説 明 します C1ReportViewer スマートタグ Visual Studio では C1ReportViewer コントロールにスマートタグが 含 まれます スマートタグは 最 もよく 使 用 されるプロパ ティを 提 供 するショートカットタスクメニューです C1ReportViewer コントロールは そのスマートタグによってよく 使 用 される プロパティへの 迅 速 かつ 容 易 なアクセスを 提 供 します [C1ReportViewer タスク]メニューにアクセスするには C1ReportViewer コントロールの 右 上 隅 にあるスマートタグをクリッ クします [ [C1ReportViewer タスク]メニューが 開 き 次 の 画 像 のように 表 示 します [C1ReportViewer タスク]メニューの 機 能 は 次 のとおりです コントロールの 幅 実 行 時 のコントロールの 幅 を 決 定 します デフォルトの 幅 は 800px です コントロールの 高 さ 実 行 時 のコントロールの 高 さを 決 定 します デフォルトの 幅 は 600px です ツールバーの 表 示 ツールバーの 表 示 チェックボックスが ON (デフォルト 設 定 ) になっている 場 合 ToolBarVisible プロパティは True になり ReportViewer のツールバーが 実 行 時 に C1ReportViewer コントロール 上 に 縮 小 した 状 態 で 表 示 されます ツールバーを 表 示 しない 場 合 ツールバーの 表 示 チェックボックスを OFF にしてください ステータスバーの 表 示 ステータスバーの 表 示 チェックボックスが ON (デフォルト 設 定 ) になっている 場 合 StatusBarVisible プロパティは True になり ReportViewer のステータスバーが 実 行 時 に C1ReportViewer コントロール 上 に 縮 小 した 状 態 で 表 示 さ れます ステータスバーを 表 示 しない 場 合 ステータスバーの 表 示 チェックボックスを OFF にしてください 23 Copyright GrapeCity inc. All rights reserved.

25 ツールパネルの 縮 小 ツールパネルの 縮 小 チェックボックスは ON になっている 場 合 CollapseToolsPanel プロパティは True になり ア ウトライン 検 索 およびサムネイルペインを 含 むツールペインが C1ReportViewer コントロール 上 に 縮 小 した 状 態 で 表 示 されます ページビュー ページビュー チェックボックスが OFF になっている 場 合 PagedView プロパティは False になり ユーザーはページ から 他 のページへスクロールできます PagedView プロパティは True (デフォルト 設 定 ) にされていると ページ 移 動 ボタンで 他 のページに 移 動 する 必 要 があります テーマ テーマ ドロップボックスをクリックすると 様 々な 視 覚 的 スキーマから 選 択 することができます 詳 細 については テーマ トピックを 参 照 してください 新 しいテーマの 作 成 [ 新 しいテーマの 作 成 ]オプションをクリックすると ThemeRoller for Visual Studio が 開 きます したがって 開 発 環 境 内 でテーマをカスタマイズすることができます アプリケーションで ThemeRoller for Visual Studio を 使 用 する 方 法 については ThemeRoller for Visual Studio を 参 照 してください CDN の 使 用 [CDN の 使 用 ]チェックボックスを ON にすると CDN からクライアントリソースがロードされます これはデフォルトで OFF です CDN パス CDN の URL パスを 表 示 します Bootstrap の 使 用 [Bootstrap の 使 用 ]オプションを 選 択 すると コントロールに Bootstrap テーマを 適 用 することができます アプリケー ションで Bootstrap テーマを 使 用 する 方 法 については Bootstrap for ASP.NET Web Forms クイックスタート を 参 照 してください バージョン 情 報 [バージョン 情 報 ]をクリックすると 製 品 のバージョン 情 報 を 確 認 できるダイアログボックスが 表 示 されます C1ReportViewer コンテキストメニュー C1ReportViewerのコンテキストメニューを 表 示 するには リスト 上 の 任 意 の 場 所 を 右 クリックします これは Visual Studio はすべての.NET コントロールに 提 供 している 標 準 のコンテキストメニューです コンテキストメニューは 次 の 画 像 のように 表 示 されます 24 Copyright GrapeCity inc. All rights reserved.

26 コンテキストメニューの 機 能 は 次 のとおりです スマート タグの 表 示 このオプションをクリックすると [ [C1ReportViewer タスク]メニューが 表 示 されます スマートタグの 使 用 方 法 とタスク メニューの 使 用 可 能 な 機 能 の 詳 細 については C1ReportViewer スマートタグ を 参 照 してください 25 Copyright GrapeCity inc. All rights reserved.

27 実 行 時 の 操 作 このトピックでは 実 行 時 に C1ReportViewer を 操 作 する 方 法 について 説 明 します ユーザーがレポートをナビゲートしたり 対 話 的 に 操 作 する 方 法 を 学 びます レポートを 印 刷 する 実 行 時 ユーザーは 簡 単 にツールバーの[ [ 印 刷 ]ボタンをクリックしてレポートを 印 刷 することができます [ 印 刷 ]ダイアログボックスは 次 のように 表 示 されます [ 印 刷 ]ダイアログボックスには 次 のオプションが 含 まれています 印 刷 範 囲 : すべて 現 在 のページ (デフォルト 設 定 )または ページ 指 定 オプションの3つオプションから 希 望 する1 つを 選 択 できます 偶 数 または 奇 数 ページ ドロップダウンボックスを 使 用 すると 範 囲 内 のすべてのページ (デフォ ルト 設 定 ) 奇 数 ページのみ または 偶 数 ページのみ のオプションを 使 用 できます 逆 順 に 印 刷 チェックボックス によって 選 択 しているページを 逆 の 順 番 に 印 刷 することができます 印 刷 :[[ 印 刷 ]ボタンをクリックすると [ 印 刷 ] 画 面 が 表 示 され そこからレポートを 印 刷 することができます 印 刷 のヒント:[ [ 印 刷 のヒント]ボタンは 実 行 時 にユーザーが 印 刷 できることについてヒントを 提 供 します キャンセル:[キャンセル] [キャンセル]ボタンをクリックすると レポートを 印 刷 しないで[ [ 印 刷 ]ダイアログを 閉 じます 26 Copyright GrapeCity inc. All rights reserved.

28 印 刷 のヒント ドキュメントを 印 刷 する 際 以 下 のヒントはユーザーに 役 立 ちます デフォルトのプリンタが 正 常 に 構 成 されていることを 確 認 してください プレビュー 領 域 に 正 しいコンテンツが 表 示 されていることを 確 認 してください プレビューエリアが 正 常 に 更 新 されるまで 待 つ 必 要 もあるかもしれません C1ReportViewer のプレビュー 領 域 内 のコンテンツは そのまま 印 刷 されることに 注 意 してください 印 刷 時 の 注 意 点 :[ 印 刷 ]ボタンは すべてまたは 文 書 の 一 部 を 印 刷 するには 便 利 で 迅 速 な 方 法 ですが 制 限 があることに 注 意 してください Web ブラウザから 印 刷 すると 印 刷 結 果 はブラウザの 書 式 ページのヘッダーとフッターなどの 設 定 に 依 存 し ます C1ReportViewer で 作 成 したPDF は ビューア 内 のドキュメントと 外 観 が 同 じため Web ブラウザで 印 刷 する 場 合 の 制 限 を 回 避 して より 良 い 印 刷 結 果 を 出 力 します レポートをエクスポートする 実 行 時 ユーザーはツールバーの[エクスポート]ボタンまたはドロップダウン 矢 印 をクリックして 簡 単 にレポートをエクスポート することができます: [エクスポート 形 式 の 選 択 ]ドロップダウン 矢 印 をクリックすると 次 のようなメニューが 表 示 されます エクスポート 形 式 の 選 択 のドロップダウンメニューには 次 のオプションが 含 まれています Adobe PDF: レポートを.pdf のファイル 拡 張 子 を 持 つ Adobe PDF ファイルとして 保 存 します これはデフォルト 設 定 で ユーザーがドロップダウンメニューからオプションを 選 択 せずに[エクスポート]ボタンをクリックした 場 合 を 示 しま す Open XML Excel: レポートを.xlsx のファイル 拡 張 子 を 持 つ Open XML エクセルファイルとして 保 存 します Open XML Word: レポートを.docx のファイル 拡 張 子 を 持 つ Open XML ワードファイルとして 保 存 します Microsoft Excel: レポートを.xls のファイル 拡 張 子 を 持 つマイクロソフトエクセルファイルとして 保 存 します リッチテキストフォーマット: レポートを.rtf のファイル 拡 張 子 を 持 つリッチテキストファイルとして 保 存 します C1 Open XML ドキュメント:レポートに.cldx という 拡 張 子 を 付 けて C1 Open XML ドキュメントファイルとして 保 存 し ます 27 Copyright GrapeCity inc. All rights reserved.

29 ユーザーが[エクスポート] [エクスポート]ボタンではなく ドロップダウン 矢 印 をクリックすると ファイルの 種 別 を 選 択 できます ユーザーが ファイルのオプションを 選 択 すると Exported document download ページが 表 示 されてユーザーが 選 択 したファイル 形 式 をダウンロードすることができます レポートの 表 示 方 法 を 変 更 する 実 行 時 ユーザーはツールバーの[ 連 続 表 示 ]ボタンをクリックして レポートの 表 示 方 法 を 簡 単 に 変 更 することができます [ 連 続 表 示 ]ボタンはレポートが 表 示 する 方 法 を 変 更 します これを 選 択 すると PagedView プロパティが False に 設 定 され ユーザーはページから 他 のページにスクロールできます PagedView プロパティが True (デフォルト 設 定 ) にされていると ユーザーはページ 移 動 ボタンで 他 のページに 移 動 する 必 要 があります レポートをズームする 実 行 時 ユーザーは 簡 単 にツールバーのズームイン ズームアウト 現 在 のズームオプションを 使 用 してレポートをズームでき ます ズーム ドロップダウンには 次 のオプションが 含 まれています ズームイン: ドキュメントを 10% だけズームインします 例 えば ドキュメントが100%ズームで 表 示 されている 場 合 こ のボタンをクリックすると ドキュメントが110%でズームされます ズームアウト:ドキュメントを 10% だけズームアウトします 例 えば ドキュメントが100%ズームで 表 示 されている 場 合 このボタンをクリックすると ドキュメントが90%でズームされます 現 在 のズーム:ユーザーがドロップダウン 矢 印 をクリックして 既 定 のズームオプションから 選 択 することができます レポートをナビゲートする 実 行 時 に ユーザーが C1ReportViewer コントロールのいくつかのナビゲーションオプションを 使 用 して レポートドキュメント 内 をナビゲートすることができます ナビゲーションオプションには ツールバーの[アウトライン] [アウトライン]ペインとページナビゲーション ボタンが 含 まれています 28 Copyright GrapeCity inc. All rights reserved.

30 ツールバーのナビゲーションボタンを 用 いて ユーザーがレポートドキュメントのページからページへ 移 動 したり ドキュメント 内 の 任 意 の 特 定 のページに 移 動 したりすることができます ツールバーのナビゲーションには 次 のオプションが 含 まれています 最 初 のページ:レポートドキュメントの 最 初 のページに 移 動 します 最 初 のページ 以 外 のページが 表 示 されたときに こ のオプションが 利 用 可 能 です 前 のページ:レポートドキュメントの 前 のページに 移 動 します 最 初 のページ 以 外 のページが 表 示 されたときに このオ プションが 利 用 可 能 です ページ: 現 在 選 択 されているページと 総 ページ 数 を 表 示 します ユーザーはテキストボックスにページ 数 を 入 力 してそ のページに 移 動 することができます 次 のページ:レポートドキュメントの 次 のページに 移 動 します 最 後 のページ 以 外 のページが 表 示 されたときに このオ プションが 利 用 可 能 です 最 後 のページ:レポートドキュメントの 最 後 のページに 移 動 します 最 後 のページ 以 外 のページが 表 示 されたときに こ のオプションが 利 用 可 能 です 実 行 時 ユーザーはツールペインで[アウトライン]ボタンをクリックして レポートのセクションに 簡 単 に 移 動 することができま す アウトラインペインは 次 にように 表 示 されます [アウトライン]ペインには ユーザーが 簡 単 にナビゲートできるレポートのセクションを 示 しています ユーザーは [アウトライ ン]ペインで 項 目 をクリックしてレポート 文 書 の 特 定 の 位 置 に 移 動 することができます レポートを 検 索 する 実 行 時 ユーザーは 簡 単 にツールペインの[ [ 検 索 ]ボタンをクリックして レポートを 検 索 できます これによって 検 索 パネル が 表 示 されます 29 Copyright GrapeCity inc. All rights reserved.

31 検 索 パネルには 次 のオプションが 含 まれています テキストボックス: ユーザーは 検 索 する 単 語 やフレーズを 検 索 テキストボックスに 入 力 してレポートドキュメントを 検 索 することができます 大 文 字 と 小 文 字 を 区 別 : 大 文 字 と 小 文 字 を 区 別 して 入 力 したテキストを 検 索 する 必 要 がある 場 合 は 大 文 字 と 小 文 字 を 区 別 チェックボックスを 使 用 します このボックスが 選 択 されている 場 合 たとえば "Product"と"product"の 検 索 は 異 なる 結 果 を 出 力 します 検 索 : ユーザーは 検 索 ボタンをクリックしてテキストボックスに 入 力 したテキストを 検 索 できます 検 索 結 果 : 検 索 用 語 が 文 書 内 に 見 つかった 場 合 結 果 ウィンドウに 表 示 されます また 検 索 結 果 ウインドウには 見 つかった 用 語 の 件 数 および 用 語 のあるページへのリンクが 表 示 されます 30 Copyright GrapeCity inc. All rights reserved.

32 C1ReportViewer の 外 観 C1ReportViewer コントロールの 外 観 とレイアウトをカスタマイズするためのいくつかのオプションがあります 次 のセクション では 組 み 込 みテーマを 使 用 してコントロールの 外 観 だけでなく C1ReportViewer コントロールの 他 の 要 素 をカスタマイズす る 方 法 についても 説 明 します テーマ C1ReportViewer には コントロールの 外 観 を 簡 単 に 変 更 できるテーマが 含 まれています このコントロールには 複 数 の 組 み 込 みテーマが 含 まれており アプリケーションのコントロールをすばやくカスタマイズできます [C1ReportViewer タスク]メ ニュー プロパティウィンドウやコードからテーマを 簡 単 に 変 更 できます C1ReportViewer には 以 下 の 組 み 込 みテーマが 含 まれています arctic arctic aristo cobalt midnight rocket sterling 以 下 の 画 像 は arctic テーマを 表 示 します aristo 以 下 の 画 像 は aristo テーマを 表 示 します これは C1ReportViewer のデフォルトの 外 観 です 31 Copyright GrapeCity inc. All rights reserved.

33 cobalt 以 下 の 画 像 は cobalt テーマを 表 示 します midnight 以 下 の 画 像 は midnight テーマを 表 示 します 32 Copyright GrapeCity inc. All rights reserved.

34 rocket 以 下 の 画 像 は rocket テーマを 表 示 します sterling 以 下 の 画 像 は sterling テーマを 表 示 します 33 Copyright GrapeCity inc. All rights reserved.

35 テーマの 変 更 プロパティウィンドウを 使 用 してデザイン 時 にC1ReportViewerのテーマを 変 更 することができます C1ReportViewer を 一 回 クリックして プロパティウィンドウに 移 動 します 1. プロパティウィンドウでは テーマドロップダウンの 矢 印 をクリックして 希 望 のスタイルを 選 択 します ( 例 :rocket) 2. 選 択 されたテーマはグリッドに 適 用 されます 34 Copyright GrapeCity inc. All rights reserved.

36 C1Report の 使 い 方 C1Report は デスクトップおよび Web のさまざまな 状 況 で 利 用 できます どの 場 合 でも 主 な 手 順 は 同 じです 1. レポートを 作 成 するには はじめに C1Report デザイナを 使 用 してレポート 定 義 を 作 成 します レポート 定 義 は 新 規 に 作 成 するか Microsoft Access レポートをインポートすることができ XML ファイルとして 保 存 されます 2. 次 に C1Report コンポーネントを 使 用 してレポート 定 義 を 読 み 込 み 任 意 の 標 準 的 な.NET データソースからデータを 取 得 してレポートを 出 力 します 3. レポート 定 義 は 設 計 時 に 読 み 込 んでアプリケーションに 埋 め 込 んだり 実 行 時 に 読 み 込 んだり 変 更 したりすることが できます(C1Report オブジェクトモデルを 使 用 して 新 規 にレポート 定 義 を 作 成 することも 可 能 です) 4. 作 成 したレポートは 直 接 プリンタに 出 力 したり C1PrintPreview コントロールに 描 画 したり Web 配 信 に 適 している HTML 形 式 や PDF 形 式 でエクスポートすることができます 次 の 図 は C1Report におけるさまざまなコンポーネントの 関 係 を 示 します メモ: 太 線 で 囲 まれた 四 角 形 は コードコンポーネント(コントロール アプリケーション)を 表 します 細 線 で 囲 まれた 四 角 形 は 情 報 を 含 むファイル(レポート 定 義 /データ/ 作 成 されたレポート)を 表 します 番 号 付 きの 矢 印 は コンポーネン ト 間 の 関 係 ( 以 下 で 説 明 )を 示 します 次 の 各 番 号 は コンポーネント 間 の 関 係 を 示 す 図 中 の 番 号 付 き 矢 印 を 指 しています 1. C1Report デザイナを 使 用 して XML 形 式 のレポート 定 義 ファイルを 作 成 編 集 および 保 存 します 2. C1Report コンポーネントに デザイナで 作 成 されたレポート 定 義 ファイルを 読 み 込 みます これは 設 計 時 にプロパティ ページを 使 用 して 行 うか 実 行 時 にLoad メソッドを 使 用 して 行 うことができます プロパティページからレポートを 読 み 込 んだ 場 合 レポート 定 義 ファイルはコントロールに 保 存 されるので 実 行 時 にはレポート 定 義 ファイルを 必 要 としませ ん 3. C1Report コンポーネントは レポート 定 義 ファイルで 指 定 されたデータソースから 自 動 的 にデータを 読 み 込 みます こ れを 実 行 する 代 わりに 独 自 のカスタムデータソースを 提 供 することもできます 4. C1Report コンポーネントは レポート 定 義 に 従 ってデータをフォーマットし レポートをプリンタ(a) いずれかのファイル 形 式 (b) または 印 刷 プレビューコントロール(c)に 出 力 します 5. カスタムアプリケーションにより 豊 富 なオブジェクトモデルを 使 用 して C1Report コンポーネントと 交 信 し レポートを 簡 単 にカスタマイズしたり レポートを 一 から 作 成 したりすることができます オブジェクトモデル 次 の 一 覧 は C1Report コンポーネントのオブジェクトモデルをまとめたものです このオブジェクトモデルは 主 に Microsoft 35 Copyright GrapeCity inc. All rights reserved.

37 Access モデルに 基 づいていますが Microsoft Access では 異 なるタイプのコントロール(ラベルコントロール テキストボックス コントロール ラインコントロールなど)が 存 在 するのに 対 し C1Report に 存 在 するのは 単 一 のFieldオブジェクトです C1Report では オブジェクトに 含 まれるプロパティの 設 定 によって ラベル テキストボックス 線 画 像 サブレポートなどの 外 観 に 見 せています 以 下 に すべてのオブジェクトのリストと それらに 含 まれるプロパティやメソッドを 示 します メモ:C1Report では すべての 測 定 の 単 位 に Twips を 使 用 します 1Twips は 1/20 ポイントです したがって 72 ポイ ント = 1440 Twips = 1インチになります C1Report オブジェクト: メインのコンポーネントです ReportName, GetReportInfo, Load, Save, Clear, Render, RenderToFile, RenderToStream, PageImages, Document, DoEvents, IsBusy, Cancel, Page, MaxPages, Font, OnOpen, OnClose, OnNoData, OnPage, OnError, Evaluate, Execute Layout Object: ページ 上 でのレポートの 出 力 方 法 を 指 定 するオブジェクトです Width, MarginLeft, MarginTop, MarginRight, MarginBottom, PaperSize, Orientation, Columns, ColumnLayout, PageHeader, PageFooter, Picture, PictureAlign, PictureShow DataSource オブジェクト: データソースを 管 理 するオブジェクトです ConnectionString, RecordSource, Filter, MaxRecords, Recordset Groups コレクション: レポートには 複 数 のグループを 含 めることができます Group オブジェクト: データのソートとグループ 化 を 制 御 するオブジェクトです Name GroupBy, Sort, KeepTogether, SectionHeader, SectionFooter, Move Sections コレクション: すべてのレポートには 少 なくとも5つのセクションが 含 まれます Section オブジェクト: Field オブジェクト("レポート 領 域 "とも 呼 ばれる)のコンテナです Name, Type, Visible, BackColor, OnFormat, OnPrint, Height, CanGrow, CanShrink, Repeat, KeepTogether, ForcePageBreak Fields コレクション: レポートには 通 常 複 数 のフィールドが 含 まれます Field オブジェクト: セクション 内 の 情 報 が 表 示 される 四 角 形 の 領 域 です Name, Section, Text, TextDirection, Calculated, Value, Format, Align, WordWrap, Visible, Left, Top, Width, Height, CanGrow, CanShrink, Font, BackColor, ForeColor, BorderColor, BorderStyle, LineSlant, LineWidth, MarginLeft, MarginRight, MarginTop, MarginBottom, LineSpacing, ForcePageBreak, HideDuplicates, RunningSum, Picture, PictureAlign, Subreport, CheckBox, RTF レポートのセクション すべてのレポートには 少 なくとも5つのセクションが 含 まれます これを 次 に 示 します セクション Detail Header Footer 説 明 詳 細 セクション ソースレコードセット 内 の 各 レコードに1 度 ずつ 出 力 されるフィールドが 含 まれます レポートヘッダセクション レポートの 最 初 に 出 力 されます レポートフッタセクション レポートの 最 後 に 出 力 されます Page Header ページヘッダセクション 各 ページの 上 部 (オプションによってはレポートヘッダを 含 むページを 除 く) に 出 力 されます 36 Copyright GrapeCity inc. All rights reserved.

38 セクション Page Footer 説 明 ページフッタセクション 各 ページの 下 部 (オプションによってはレポートフッタを 含 むページを 除 く)に 出 力 されます これら5つのセクションに 加 えて 各 グループに2つのセクション(グループヘッダとグループフッタ)が 追 加 されます たとえば 3つのグループレベルを 持 つレポートには 11 のセクションがあります これらのセクションを 非 表 示 にすることはできますが グループを 追 加 または 削 除 しないかぎり セクションを 追 加 または 削 除 することはできません 下 の 図 は 一 般 的 なレポートにおける 各 セクションの 出 力 方 法 を 示 しています レポートヘッダ 最 初 に 出 力 されるセクションはレポートヘッダです このセクションには 通 常 レポートを 識 別 する 情 報 が 含 まれます ページヘッダ 次 に 出 力 されるのは ページヘッダです レポート 内 にグループが 定 義 されていない 場 合 このセクションには 通 常 詳 細 セク ション 内 のフィールドについて 説 明 するラベルが 含 まれます グループヘッダ フッタ 次 に グループヘッダ 詳 細 グループフッタのセクションが 続 きます これらが 実 際 のレポートデータを 含 むセクションです グ ループヘッダおよびフッタには 通 常 グループの 合 計 割 合 最 大 値 最 小 値 などの 集 計 関 数 が 含 まれることがあります グ ループヘッダおよびグループフッタは GroupBy プロパティによって 指 定 される 式 の 値 が あるレコードから 次 のレコードへ 変 化 するたびに 挿 入 されます 詳 細 詳 細 セクションには 各 レコードのデータが 含 まれます Visible プロパティを False に 設 定 に 設 定 してこのセクションを 非 表 示 にし グループヘッダおよびグループフッタのみを 表 示 することもできます これはサマリーレポートの 作 成 に 便 利 な 機 能 です ページフッタ 各 ページの 下 部 には ページフッタセクションがあります このセクションには 通 常 ページ 番 号 レポートの 総 ページ 数 レ ポートの 印 刷 日 などの 情 報 が 含 まれます レポートフッタ 最 後 に レポートフッタセクションが 最 後 のページフッタの 前 に 出 力 されます このセクションは レポート 全 体 に 関 するサマ リー 情 報 を 表 示 するために 使 用 されます カスタムセクション 37 Copyright GrapeCity inc. All rights reserved.

39 各 セクションの 表 示 / 非 表 示 は Visible プロパティの 設 定 値 (True/False)を 切 り 替 えることで 指 定 できます グループヘッ ダは Repeat プロパティを True に 設 定 することによって 各 ページ(グループの 最 初 のページかどうかにかかわらず)の 上 部 に 対 して 繰 り 返 し 表 示 できます ページヘッダおよびページフッタは Layout オブジェクトのPageHeader プロパティと PageFooter プロパティを 設 定 することによって レポートヘッダセクションとレポートフッタセクションを 含 むページから 削 除 で きます クライアントアプリケーションの 開 発 このセクションでは 一 般 的 なデスクトップ 環 境 で C1Report をどのように 使 用 できるかについて 説 明 します 一 般 的 なデスクトップ 環 境 では レポートを 生 成 および 表 示 するのと 同 じコンピュータで C1Report を 実 行 します その 場 合 で も レポートのデータ 自 体 は リモートサーバーから 取 得 されることがあります このような 例 では C1Reportが.NET や.NET アプリケーションでホストされることを 前 提 とします 組 み 込 みレポート( 設 計 時 に 読 み 込 み) この 例 では アプリケーションに 組 み 込 まれている 一 定 のレポート 定 義 セットを 使 ってレポートを 生 成 します このようなアプリ ケーションは 外 部 のレポート 定 義 ファイルに 依 存 しません また エンドユーザーがレポートを 変 更 する 方 法 はありません このようなアプリケーションの 主 な 長 所 は レポート 定 義 ファイルを 配 布 する 必 要 がないことと レポートの 形 式 を 変 更 されない ようにできることです 短 所 は アプリケーションを 再 コンパイルしないとレポートを 変 更 できないことです 組 み 込 みレポートを 備 えたアプリケーションを 作 成 するには 次 の 手 順 に 従 います 1. C1Report デザイナを 使 用 して 必 要 なレポートをすべて 作 成 します( 作 成 方 法 の 詳 細 については C1Report デザイ ナの 使 い 方 を 参 照 ) 2. 配 布 するレポート 定 義 ごとに C1Report コンポーネントを1つ 追 加 します 各 コントロールに 出 力 するレポートに 応 じた 名 前 を 付 けると コードの 保 守 が 簡 単 になります 3. C1Report コンポーネントを 右 クリックし レポート 定 義 ファイルの 読 み 込 み メニューオプションを 選 択 して レポート 定 義 をそれぞれのコントロールに 読 み 込 みます C1Report コンポーネントの レポート 定 義 ファイルの 読 み 込 み リンク をクリックすることもできます レポートの 選 択 ダイアログボックスが 表 示 されるので レポート 定 義 ファイルを 選 択 し さらにそのファイル 内 のレ ポートを 選 択 します レポートを 読 み 込 むには [...]ボタンをクリックし 手 順 1で 作 成 したレポート 定 義 ファイルを 選 択 し ます 次 に ドロップダウンリストからレポートを 選 択 し 読 み 込 みボタンをクリックします プロパティページに 選 択 した レポート 名 グループ 数 セクション 数 およびフィールド 数 が 表 示 されます ダイアログボックスは 次 のように 表 示 さ れます 4. ユーザーが 選 択 したレポートを 出 力 するためのコードを 追 加 します たとえば ボタングループを 追 加 した 場 合 は 次 の 38 Copyright GrapeCity inc. All rights reserved.

40 ようなコードを 追 加 します コードの 書 き 方 Private Sub btnproductsreport_click(byval sender As System.Object, ByVal e As System.EventArgs) Handles btnproductsreport.click ppv.document = rptproducts.document End Sub コードの 書 き 方 private void btnproductsreport_click(object sender, System.EventArgs e) { ppv.document = rptproducts.document; } ここで rptproducts は ユーザーが 選 択 したレポートを 含 む C1Report コンポーネントの 名 前 ppv は C1PrintPreview コ ントロールの 名 前 です 組 み 込 みレポート( 設 計 時 に 作 成 ) 組 み 込 みレポート( 設 計 時 に 読 み 込 み) で 説 明 した レポート 定 義 ファイルの 読 み 込 み コマンドは 既 に 存 在 するレポート 定 義 をアプリケーション 内 に 読 み 込 む 場 合 に 便 利 です しかし 特 定 のケースでは レポートをカスタマイズしたかったり レポー ト 定 義 の 接 続 文 字 列 やデータソースではなく Visual Studio アプリケーション 内 で 定 義 したデータソースオブジェクトを 使 用 した い 場 合 があります このような 場 合 には 代 わりに レポート 定 義 ファイルの 編 集 コマンドを 使 用 します 設 計 時 にレポートを 作 成 もしくは 編 集 するには C1Reportコンポーネントを 右 クリックし レポートの 編 集 メニューオプション を 選 択 して C1Report デザイナアプリケーションを 起 動 します C1Report コンポーネントから レポートの 編 集 リンクをクリッ クすることもできます メモ:コントロールがレポートデザイナアプリケーションを 見 つけられなかった 場 合 は レポートの 編 集 コマンドがコンテ キストメニューやプロパティウィンドウ 上 に 表 示 されません これを 修 復 するには 単 独 で C1Report デザイナを 起 動 し てください デザイナはレジストリにその 場 所 を 記 録 するので C1Report コントロールはデザイナを 見 つけることができ るようになります C1Report デザイナは 現 在 C1Report コンポーネントに 読 み 込 まれているレポートを 表 示 します C1Report コンポーネント が 空 の 場 合 デザイナは 新 規 にレポートを 作 成 するためのレポートウィザードを 表 示 します これは C1Report デザイナを 単 独 で 使 用 した 場 合 と 同 じです このモードで 起 動 した 場 合 の 唯 一 の 違 いは 以 下 の 通 りです 新 規 レポートのデータソースとしてアプリケーション 内 で 定 義 したデータソースオブジェクトを 使 用 することができます デザイナを 終 了 するとき すべての 変 更 内 容 をフォーム 上 の C1Report コンポーネント 内 に 書 き 戻 すことができます デザイナ 内 で [ファイル 変 更 内 容 を 破 棄 して 終 了 ]を 選 択 することで 変 更 した 内 容 を 保 存 せずに 終 了 します アプリケーション 内 で 定 義 したデータソースオブジェクトを 使 用 する 場 合 は デザイナ 上 の データソース ボタン し データソースダイアログ 内 の[データオブジェクト]ページを 選 択 します をクリック [データオブジェクト]ページには フォーム 上 に 現 在 定 義 されているデータオブジェクトのリストが 表 示 されます(フォーム 上 に 有 効 なデータソースが1つも 無 い 場 合 ページは 表 示 されません) 代 わりに [ 接 続 ]ページを 使 用 して 接 続 文 字 列 やレコード ソースを 選 択 したり 構 築 することができます 例 えば メインフォームがそれにアタッチされているいくつかの DataTable による DataSet オブジェクトを 含 んでいる 場 合 データソースダイアログは 以 下 のように 表 示 されます 39 Copyright GrapeCity inc. All rights reserved.

41 レポートの 作 成 もしくは 編 集 が 完 了 したら [ファイル 変 更 内 容 を 保 存 して 終 了 ]を 選 択 することでデザイナを 終 了 することが できます これにより [レポート 定 義 ファイルの 読 み 込 み]を 選 択 してファイルから 読 み 込 んだ 場 合 と 同 じように コンポーネント 内 に 直 接 レポート 定 義 ファイルが 保 存 されます 変 更 内 容 の 保 存 をキャンセルする 場 合 は [ファイル 変 更 内 容 を 破 棄 して 終 了 ]を 選 択 してください 実 行 時 に 読 み 込 まれるレポート この 例 では 実 行 時 にファイルからレポート 定 義 を 読 み 込 みます このようなアプリケーションは レポート 定 義 ファイルを 必 要 とし ビューアのように 機 能 します このようなアプリケーションの 主 な 長 所 は レポート 形 式 を 変 更 しても アプリケーションを 更 新 する 必 要 がないことです 新 しいレポート 定 義 ファイルをユーザーに 送 るだけで 済 みます 実 行 時 に 読 み 込 まれるレポートを 備 えたアプリケーションを 作 成 するには 次 の 手 順 に 従 います 1. C1Report デザイナを 使 用 して 必 要 なレポートをすべて 作 成 します( 作 成 方 法 の 詳 細 については C1Report デザイナの 使 い 方 を 参 照 ) 2. 次 のコントロールをアプリケーションに 追 加 します c1r という 名 前 の C1Report mponent named ppv という 名 前 の C1PrintPreviewControl cmbreport という 名 前 の ComboList status という 名 前 の StatusBar 3. 次 の Imports 文 ( の 場 合 )をファイルの 先 頭 に 追 加 します コードの 書 き 方 Imports C1.C1Report Imports System.IO コードの 書 き 方 using C1.C1Report; using System.IO; 40 Copyright GrapeCity inc. All rights reserved.

42 これにより 完 全 な 名 前 空 間 を 指 定 しなくても C1Report と System.IO のクラスとオブジェクトを 参 照 できます 4. レポート 定 義 ファイルを 読 み 取 り ファイル 内 のすべてのレポートのリストを 構 築 するためのコードを 追 加 します そのための コードは 次 のとおりです コードの 書 き 方 ' アプリケーションパスを 取 得 します Dim apppath As String apppath = Path.GetDirectoryName(Application.ExecutablePath).ToLower() Dim i As Integer = apppath.indexof("/bin") If (i < 0) Then i = apppath.indexof("\bin") If (i > 0) Then apppath = apppath.remove(i, apppath.length - i) ' レポート 定 義 ファイル 内 の 全 レポートのリストを 取 得 します m_reportdefinitionfile = apppath & "\Data\Nwind.xml" Dim reports As String() = c1r.getreportinfo(m_reportdefinitionfile) ' コンボボックスに 代 入 します cmbreport.items.clear() Dim report As String For Each report In reports cmbreport.items.add(report) Next コードの 書 き 方 // アプリケーションパスを 取 得 します string apppath; apppath = Path.GetDirectoryName(Application.ExecutablePath).ToLower(); int i = apppath.indexof("/bin"); if ((i < 0) ) { i = apppath.indexof("\bin"); } if ((i > 0) ) { apppath = apppath.remove(i, apppath.length - i); } // レポート 定 義 ファイル 内 の 全 レポートのリストを 取 得 します m_reportdefinitionfile = apppath + "\Data\Nwind.xml"; string ( reports) = c1r.getreportinfo(m_reportdefinitionfile); // コンボボックスに 代 入 します cmbreport.items.clear(); string report; foreach report In reports cmbreport.items.add(report); } 上 のコードは 最 初 にレポート 定 義 を 含 むファイルの 場 所 を 取 得 しています そのために システム 定 義 の Path クラスおよび Application クラスの 静 的 メソッドを 使 用 します このコードは 実 際 のレポート 定 義 ファイルの 場 所 と 名 前 に 合 わせて 変 更 する 必 要 があります 次 に GetReportInfo メソッドを 使 用 してレポート 定 義 ファイル( 手 順 1で 作 成 ) 内 のすべてのレポート 名 を 含 む 配 列 を 取 得 し ユーザーがレポートを 選 択 するためのコンボボックスにレポート 名 を 挿 入 します 5. ユーザーが 選 択 したレポートを 出 力 するためのコードを 追 加 します 次 に 例 を 示 します コードの 書 き 方 41 Copyright GrapeCity inc. All rights reserved.

43 Private Sub cmbreport_selectedindexchanged(byval sender As Object, ByVal e As EventArgs) Handles cmbreport.selectedindexchanged Try Cursor = Cursors.WaitCursor ' レポートを 読 み 込 みます status.text = "Loading " & cmbreport.text c1r.load(m_reportdefinitionfile, cmbreport.text) ' PrintPreview コントロール 内 に 出 力 します status.text = "Rendering " & cmbreport.text ppv.document = c1r.document ' PrintPreview コントロールにフォーカスを 移 します ppv.startpage = 0 ppv.focus() Finally Cursor = Cursors.Default End Try End Sub コードの 書 き 方 private void cmbreport_selectedindexchanged(object sender, System.EventArgs e) { try { Cursor = Cursors.WaitCursor; // レポートを 読 み 込 みます status.text = "Loading " + cmbreport.text; c1r.load(m_reportdefinitionfile, cmbreport.text); // PrintPreview コントロール 内 に 出 力 します status.text = "Rendering " + cmbreport.text; ppv.document = c1r.document; // PrintPreview コントロールにフォーカスを 移 します ppv.startpage = 0; ppv.focus(); } } finally { Cursor = Cursors.Default; } 実 行 時 にカスタマイズされるレポート この 例 は 実 行 時 に 読 み 込 まれるレポート の 応 用 です ファイルから 基 本 のレポート 定 義 をロードする 部 分 と ユーザーの 選 択 に 応 じてレポートをカスタマイズする 部 分 で 構 成 されています たとえば 次 のコードは 詳 細 セクションで 使 用 されるフォントを 変 更 しています 42 Copyright GrapeCity inc. All rights reserved.

44 コードの 書 き 方 Imports C1.C1Report Dim s As Section = c1r.sections(sectiontypeenum.detail) Dim f As Field For Each f In s.fields f.font.name = "Arial Narrow" Next コードの 書 き 方 using C1.C1Report; Section s = c1r.sections[sectiontypeenum.detail]; foreach (Field f in s.fields) f.font.name = "Arial Narrow"; 次 のコードは グループの Sort プロパティをオンまたはオフに 変 更 し グループのヘッダセクションおよびフッタセクション のVisible プロパティを 設 定 することによって グループの 表 示 を 切 り 替 えています コードの 書 き 方 Dim bshowgroup As Boolean bshowgroup = True With c1r.groups(0) If bshowgroup Then.SectionHeader.Visible = True.SectionFooter.Visible = True.Sort = SortEnum.Ascending Else.SectionHeader.Visible = False.SectionFooter.Visible = False.Sort = SortEnum.NoSort End If End With コードの 書 き 方 bool bshowgroup; bshowgroup = true; if (bshowgroup) { c1r.groups[0].sectionheader.visible = true; c1r.groups[0].sectionfooter.visible = true; c1r.groups[0].sort = SortEnum.Ascending; } else 43 Copyright GrapeCity inc. All rights reserved.

45 { } c1r.groups[0].sectionheader.visible = false; c1r.groups[0].sectionfooter.visible = false; c1r.groups[0].sort = SortEnum.NoSort; これらの 例 は レポートをカスタマイズする 方 法 のほんの 一 例 にすぎません オブジェクトモデルには レポートのすべての 側 面 へのアクセス 方 法 が 用 意 されているため さまざまなカスタマイズを 行 うことができます 実 際 完 全 にコードだけを 使 ってレ ポート 全 体 を 作 成 することもできます Web アプリケーションの 開 発 Web(ASP.NET)のレポートを 作 成 する 場 合 ComponentOne Studio Enterprise パッケージに 同 梱 された C1WebReport コントロールを 使 用 できます このコントロールは C1Report コンポーネントをカプセル 化 し きわめて 簡 単 にレポートを Web ページに 追 加 できるようにするメソッドとプロパティを 提 供 します C1WebReport コントロールは C1Report と 完 全 に 互 換 性 があり Web 専 用 に 設 計 された 高 度 なキャッシュおよび 表 示 オプションと 共 に ASP.NET サーバーコントロールによって 提 供 さ れる 通 常 のデザイン 時 の 編 集 オプションを 提 供 します 希 望 する 場 合 は 引 き 続 き Web アプリケーションで C1Report コンポーネントを 使 用 できますが レポートの HTML または PDF バージョンを 作 成 するためにいくつかのコードを 作 成 する 必 要 があります 以 下 の 各 セクションでは これを 実 行 する 方 法 について 説 明 します 通 常 の Web シナリオでは C1Report は サーバーマシン 上 で 実 行 され バッチモードまたはオンデマンドのいずれかでレ ポートを 作 成 します ユーザーは クライアントマシン 上 で Web ブラウザを 使 用 して レポートを 選 択 し それらをプレビューま たは 印 刷 できます 静 的 Web レポート 静 的 Web レポートは 定 期 的 に 実 行 され 一 連 の 定 義 済 みレポートを 作 成 し HTML または PDF ファイルに 保 存 するサー バーアプリケーションに 基 づいています これらのファイルは お 使 いのサイトの Web サイトで 参 照 され 他 の 任 意 の Web ページと 同 様 にクライアントマシンにダウンロードされます このタイプのアプリケーションを 実 装 するには 以 下 の 手 順 を 実 行 します 1. C1ReportDesigner アプリケーションを 使 用 して 必 要 なすべてのレポートを 作 成 します(これを 実 行 する 方 法 につい ての 詳 細 は C1Report デザイナの 使 い 方 を 参 照 してください) 2. C1Report コンポーネントを 含 むサーバー 上 でアプリケーションを 作 成 します フォームまたはウィンドウを 使 用 しない 場 合 は CreateObject 関 数 を 使 用 してコントロールを 作 成 します 3. 定 期 的 に 実 行 するルーチンを 追 加 し ユーザーが 利 用 できるようにするすべてのレポートを 更 新 します ループは 次 の ようになります コードの 書 き 方 ' この 処 理 を6 時 間 ごとに 実 行 します ' 定 義 ファイル 内 のすべてのレポートのリストを 取 得 します sfile = "c:\inetpub\wwwroot\reports\myreports.xml" slist = c1r.getreportinfo(sfile) ' サーバー 上 のレポートを 更 新 します For i = 0 To slist.length - 1 c1r.load(sfile, slist(i)) sfile = "Reports\Auto\" & slist(i) & ".htm" 44 Copyright GrapeCity inc. All rights reserved.

46 c1r.rendertofile(sfile, FileFormatEnum.HTMLPaged) Next コードの 書 き 方 // この 処 理 を6 時 間 ごとに 実 行 します // 定 義 ファイル 内 のすべてのレポートのリストを 取 得 します sfile = "c:\inetpub\wwwroot\reports\myreports.xml"; slist = c1r.getreportinfo(sfile); // サーバー 上 のレポートを 更 新 します for ( i = 0 ; GAIS <= slist.length - 1 c1r.load(sfile, slist(i)); sfile = "Reports\Auto\" + slist(i) + ".htm"; c1r.rendertofile(sfile, FileFormatEnum.HTMLPaged); } コードは GetReportInfo メソッドを 使 用 して MyReports.xml レポート 定 義 ファイル( 手 順 1で 作 成 )に 含 まれるすべ てのレポートのリストを 取 得 し 各 レポートをページ 付 けされた HTML ファイルに 表 示 します(ページ 付 けされた HTML ファイルには 元 のレポートのページごとに 閲 覧 が 可 能 なナビゲーションバーを 備 えた HTML ページが1ページずつ 含 まれています) 4. 保 存 されたレポートへのリンクを 追 加 して ホーム HTML ページを 編 集 します HTML に 限 定 されません C1Report は 自 由 に 利 用 できるプラグインを 持 つブラウザ 上 で 表 示 できる PDF ファイルにエクス ポートすることもできます 実 際 PDF 形 式 は 特 に Web レポートにハードコピーを 作 成 する 場 合 など 多 くの 点 で HTML より 優 れています 動 的 Web レポート 動 的 Web レポートは オンデマンドで おそらくユーザーが 提 供 するデータに 基 づいて 作 成 されます 通 常 このタイプのソリュー ションは ユーザーにフォームを 提 示 する ASP.NET ページを 含 み レポートの 作 成 に 必 要 な 情 報 を 収 集 し C1Report コンポーネ ントを 作 成 して レポートを 一 時 ファイルに 表 示 し そのファイルの 参 照 を 返 します 以 下 の 例 は ユーザーが 何 らかの 情 報 を 入 力 して 希 望 するレポートのタイプを 選 択 できる 単 純 な ASP.NET ページです これに 基 づいて ASP コードが NorthWind による Employee Sales by Country( 社 員 の 国 別 売 上 高 ) レポートのカスタムバージョンを 作 成 し それを 選 択 した 形 式 でユーザーに 提 示 します. サンプルは レポートを 格 納 するサーバー 上 の 一 時 ファイルを 使 用 しています 実 際 のアプリケーションでは ファイルを 確 認 する 機 会 をユーザーに 提 供 する 前 に レポートが 上 書 きされないように 独 自 のファイル 名 を 作 成 し 一 定 期 間 経 過 後 それらを 削 除 す る 必 要 がある 場 合 があります ただし このサンプルでは C1Report を 含 む Web 上 でのレポートの 配 信 に 関 連 する 主 な 手 法 につ いて 説 明 します このタイプのアプリケーションを 実 装 するには 以 下 の 手 順 を 実 行 します 1. 以 下 のような Web ページを 含 む 新 しい Web アプリケーションを 作 成 から 始 めます 45 Copyright GrapeCity inc. All rights reserved.

47 ページには 以 下 の5 種 類 のサーバーコントロールがあります _1stYear: データ( および 1996)が 存 在 する 有 効 な 年 度 のリストを 含 みます スマートタグ()をクリック し メニューから[ 項 目 の 編 集 ]を 選 択 して 項 目 を 追 加 できることに 注 意 してください [ListItem コレクションエディ タ]から 3つの 新 しい 項 目 を 追 加 します _txtgoal: 各 社 員 の 年 次 販 売 目 標 を 含 みます _btnhtml, _btnpdf: レポートを HTML または PDF に 表 示 するために 使 用 するボタンを 含 み 結 果 を 表 示 しま す _lblstatus: 失 敗 が 発 生 した 場 合 エラー 情 報 を 表 示 します メモ:このアプリケーションを C1Report コンポーネントのデモ 版 またはベータ 版 で 実 行 する 場 合 コントロールが サーバー 上 で[バージョン 情 報 ]ダイアログボックスを 表 示 しようとしたときにエラーが 発 生 します この 場 合 単 に ページをリロードすると 問 題 は 解 決 します 2. ページを 設 定 した 後 で C1Report への 参 照 をプロジェクトに 追 加 する 必 要 があります ソリューションエクスプローラウィン ドウでプロジェクトを 右 クリックし [ 参 照 の 追 加 ]を 選 択 して C1Report コンポーネントを 選 択 します 3. Data フォルダ 内 のプロジェクトに Nwind.xml を 追 加 します ソリューションエクスプローラウィンドウでプロジェクトを 右 ク リックし [ 新 規 フォルダ]を 選 択 して Data フォルダの 名 前 を 変 更 します 次 に フォルダを 右 クリックし [ 既 存 項 目 の 追 加 ]を 選 択 して デフォルトで C:\Program Files\ComponentOne Studio.NET 2.0\C1Report\Samples\VB\NorthWind\Data ディレクトリにインストールされる Nwind.xml 定 義 ファイルを 参 照 します 4. プロジェクトに Temp フォルダを 追 加 します ソリューションエクスプローラウィンドウでプロジェクトを 右 クリックし [ 新 規 フォ ルダ]を 選 択 して Temp フォルダの 名 前 を 変 更 します 5. 従 来 の ASP を 使 用 している 場 合 ここから 興 味 深 いことが 始 まります コントロールをダブルクリックすると Windows フォームプロジェクトの 記 述 に 使 用 する 同 じエディタと 環 境 を 使 用 して イベントを 処 理 する 本 格 的 なコードを 記 述 できるコー ドウィンドウが 表 示 されます 次 のコードを 追 加 します コードの 書 き 方 Imports C1.C1Report ' ユーザークリックを 処 理 します Private Sub _btnhtml_click(byval sender As Object, ByVal e As System.EventArgs) Handles _btnhtml.click RenderReport(FileFormatEnum.HTMLDrillDown) End Sub 46 Copyright GrapeCity inc. All rights reserved.

48 Private Sub _btnpdf_click(byval sender As Object, ByVal e As System.EventArgs) Handles _btnpdf.click RenderReport(FileFormatEnum.PDF) End Sub コードの 書 き 方 using C1.C1Report; // ユーザークリックを 処 理 します private void _btnhtml_click(object sender, System.EventArgs e) { RenderReport(FileFormatEnum.HTMLDrillDown); } private void _btnpdf_click(object sender, System.EventArgs e) { RenderReport(FileFormatEnum.PDF); } これは ユーザーがいずれかのボタンをクリックしたときにサーバー 上 で 実 行 されるコードです 6. 次 のコードは 作 業 をメインルーチンの RenderReport に 委 任 します コードの 書 き 方 Private Sub RenderReport(ByVal fmt As FileFormatEnum) ' ファイル 名 をビルドします Dim rpt As String = " 地 域 別 従 業 員 売 上 高 " Dim filein As String = GetDataPath() & "NWind.xml" Dim ext As String = Iif(fmt = FileFormatEnum.PDF, ".pdf", ".htm") Dim fileout As String = GetOutputPath() & rpt & ext Try ' C1Report コンポーネントを 作 成 します Dim c1r As New C1Report() ' レポートをロードします c1r.load(filein, rpt) ' ユーザーパラメータを 取 得 します Dim year As String = _lstyear.selecteditem.text Dim goal As String = _txtgoal.text ' レポートのデータソースをカスタマイズします Dim ssql As String = "SELECT DISTINCTROW " & _ "Employees.Country, Employees.LastName, " & _ "Employees.FirstName, Orders.ShippedDate, Orders.OrderID, " & _ " [Order Subtotals].Subtotal AS SaleAmount " & _ "FROM Employees INNER JOIN (Orders INNER JOIN " & _ 47 Copyright GrapeCity inc. All rights reserved.

49 " [Order Subtotals] ON Orders.OrderID = " & _ " [Order Subtotals].OrderID) " & _ " ON Employees.EmployeeID = Orders.EmployeeID " & _ "WHERE Year(Orders.ShippedDate) = " & year & ";" c1r.datasource.recordsource = ssql ' レポートのイベントハンドラをカスタマイズします Dim sscript As String = _ "If SalespersonTotal > " & goal & " Then" & vbcrlf & _ " ExceededGoalLabel.Visible = True" & vbcrlf & _ " SalespersonLine.Visible = True" & vbcrlf & _ "Else" & vbcrlf & _ " ExceededGoalLabel.Visible = False" & vbcrlf & _ " SalespersonLine.Visible = False" & vbcrlf & _ "End If" c1r.sections(sectiontypeenum.groupheader2).onprint = sscript ' レポートを 一 時 ファイルに 表 示 します c1r.rendertofile(fileout, fmt) ' ユーザーをレポートファイルにリダイレクトします Response.Redirect("Temp/" + rpt + ext) Catch x As Exception _lblstatus.text = "*** " & x.message End Try End Sub コードの 書 き 方 // ファイル 名 をビルドします private void RenderReport(FileFormatEnum fmt) { // build file names string rpt = " 地 域 別 従 業 員 売 上 高 "; string filein = GetDataPath() + "NWind.xml"; string ext = (fmt == FileFormatEnum.PDF)? ".pdf": ".htm"; string fileout = GetOutputPath() + rpt + ext; try { // C1Report コンポーネントを 作 成 します C1Report c1r = new C1Report(); // レポートをロードします c1r.load(filein, rpt); // ユーザーパラメータを 取 得 します string year = _lstyear.selecteditem.text; 48 Copyright GrapeCity inc. All rights reserved.

50 string goal = _txtgoal.text; // レポートのデータソースをカスタマイズします string ssql = "SELECT DISTINCTROW " + "Employees.Country, Employees.LastName, " + "Employees.FirstName, Orders.ShippedDate, Orders.OrderID, " + " [Order Subtotals].Subtotal AS SaleAmount " + "FROM Employees INNER JOIN (Orders INNER JOIN " + " [Order Subtotals] ON Orders.OrderID = " + " [Order Subtotals].OrderID) " + " ON Employees.EmployeeID = Orders.EmployeeID " + "WHERE Year(Orders.ShippedDate) = " + year + ";"; c1r.datasource.recordsource = ssql; // レポートのイベントハンドラをカスタマイズします string sscript = "If SalespersonTotal > " + goal + " Then \n" + " ExceededGoalLabel.Visible = True\n" + " SalespersonLine.Visible = True\n" + "Else\n" + " ExceededGoalLabel.Visible = False\n" + " SalespersonLine.Visible = False\n" + "End If"; c1r.sections[sectiontypeenum.groupheader2].onprint = sscript; } // レポートを 一 時 ファイルに 表 示 します c1r.rendertofile(fileout, fmt); // ユーザーをレポートファイルにリダイレクトします Response.Redirect("Temp/" + rpt + ext); } catch (Exception x) { _lblstatus.text = "*** " + x.message; } RenderReport ルーチンは 長 いですが 非 常 に 単 純 です 入 力 および 出 力 ファイルの 名 前 の 解 決 から 始 めます すべての ファイル 名 は 現 在 のアプリケーションディレクトリと 関 連 付 けてビルドされます 次 に ルーチンは C1Report コンポーネントを 作 成 し Employee Sales by Country( 社 員 の 国 別 売 上 高 ) レポートをロー ドします これは 未 処 理 レポートであり 次 の 手 順 でカスタマイズします ユーザーが 入 力 したパラメータは _lstyear および _txtgoal サーバー 側 コントロールで 利 用 できます コードはこれらの 値 を 読 み 取 り これらを 使 用 してレポートの RecordSource プロパティをカスタマイズし OnPrint OnPrint の VBScript ハン ドラをビルドします これらの 手 順 は 前 のセクションで 取 り 扱 いました レポート 定 義 の 準 備 が 完 了 すると コードが RenderToFile メソッドを 呼 び 出 し この 結 果 C1Report コンポーネントによっ て HTML または PDF ファイルが 出 力 ディレクトリに 書 き 込 まれます メソッドが 返 されると レポートはユーザーに 表 示 する 準 備 が 完 了 します 最 後 の 手 順 では Response.Redirect を 呼 び 出 し 作 成 したレポートをユーザーのブラウザ 上 で 表 示 します すべてのコードが try/catch ブロックで 囲 まれていることに 注 意 してください レポートの 生 成 時 に 失 敗 が 発 生 した 場 合 問 題 を 説 明 するメッセージがユーザーに 対 して 表 示 されます 7. 最 後 に いくつかの 単 純 なヘルパールーチンを 追 加 する 必 要 があります コードの 書 き 方 49 Copyright GrapeCity inc. All rights reserved.

51 ' ファイルのロードおよび 保 存 に 使 用 するディレクトリを 取 得 します Private Function GetDataPath() As String Return Request.PhysicalApplicationPath + "Data\" End Function Private Function GetOutputPath() As String Return Request.PhysicalApplicationPath + "Temp\" End Function コードの 書 き 方 // ファイルのロードおよび 保 存 に 使 用 するディレクトリを 取 得 します private string GetDataPath() { return Request.PhysicalApplicationPath } private string GetOutputPath() { return Request.PhysicalApplicationPath } 8. このコードを 入 力 したら アプリケーションを 使 用 する 準 備 が 完 了 します [F5]キーを 押 して Visual Studio 内 でその 実 行 を 追 跡 します 以 下 のスクリーンショットは ブラウザに 表 示 される 結 果 を 示 しています レポートの 作 成 読 み 込 み 描 画 50 Copyright GrapeCity inc. All rights reserved.

52 デスクトップおよび Web 上 のさまざまな 多 くのシナリオで C1Report を 使 用 できますが 手 順 のメインシーケンスは 常 に 同 じ です 1. レポート 定 義 の 作 成 これは C1Report デザイナによるか Microsoft Access のレポートデザイナを 使 用 して 直 接 実 行 し C1Report デザ イナにインポートできます オブジェクトモデルを 使 用 してグループとフィールドを 追 加 するか またはカスタム XML ファ イルを 記 述 するかのいずれかによって コードを 使 用 して 実 行 することもできます 2. C1Report コンポーネントへのレポートのロード これは [レポートのロード]コンテキストメニューを 使 用 するか プログラム 操 作 で Load メソッドを 使 用 して デザイン 時 に 実 行 できます デザイン 時 にレポートをロードすると レポートはコントロールに 保 持 ( 保 存 )され レポート 定 義 ファ イルを 配 布 する 必 要 はありません 3. レポートの 表 示 (ディスクトップアプリケーション) デスクトップアプリケーションを 記 述 する 場 合 レポートを 安 易 に C1PrintPreview コントロールに 表 示 できます プレ ビューコントロールは 画 面 上 にレポートを 表 示 し ユーザーは フルズーム パンなどを 使 用 してそれをプレビューでき ます コードの 書 き 方 C1PrintPreview1.Document = c1r コードの 書 き 方 c1printpreview1.document = c1r; 4. レポートの 表 示 (Web アプリケーション) Web アプリケーションを 記 述 する 場 合 RenderToFile メソッドを 使 用 して レポートを HTML または PDF ファイルに 表 示 し ユーザーは 任 意 のブラウザを 使 用 して これらを 表 示 できます レポート 定 義 の 作 成 以 下 のトピックでは C1ReportDesigner またはコードを 使 用 したレポート 定 義 の 作 成 方 法 を 説 明 します レポート 定 義 の 作 成 はレポートのレンダリングと 同 じではないことに 注 意 してください レポートをレンダリングするには 単 に 既 存 の 定 義 をロー ドし Render メソッドを 呼 び 出 すことができます C1ReportDesigner を 使 用 したレポート 定 義 の 作 成 レポート 定 義 を 作 成 する 最 も 簡 単 な 方 法 は Microsoft Access のレポートデザイナに 似 たスタンドアロン 型 アプリケーションで ある C1ReportDesigner を 使 用 することです C1Report ウィザードは 新 しいレポートを 作 成 する 手 順 を 段 階 的 に 最 初 から 最 後 までガイドしてくれます 新 しいレポートの 作 成 手 順 の 詳 細 については 基 本 的 なレポート 定 義 ファイルの 作 成 を 参 照 してください コードを 使 用 したレポート 定 義 の 作 成 コードを 使 用 して 最 初 からレポートを 作 成 することもできます この 方 法 では いくつかの 特 別 な 作 業 が 必 要 になりますが た いへん 柔 軟 にレポートを 作 成 できます 独 自 のレポートデザイナを 記 述 したり アドホックなレポートジェネレータを 作 成 するこ ともできます 次 の 例 は コードを 使 用 して NorthWind データベースに 基 づく 単 純 な 表 形 式 のレポート 定 義 を 作 成 します コードにはコメン トが 付 けられ C1Report オブジェクトモデルの 最 も 重 要 な 要 素 が 例 示 されています 次 の 手 順 を 実 行 します 1. 最 初 に フォームに C1Report C1PrintPreviewControl コントロールを 追 加 し 名 前 を 次 のように 設 定 します 51 Copyright GrapeCity inc. All rights reserved.

53 Button.Name = btnemployees C1Report.Name = c1r C1PrintPreviewControl.Name = ppv 2. C1Report コントロールを 初 期 化 します Clear メソッドを 使 ってコンテンツを 削 除 し コントロールのフォントを 設 定 しま す このフォントは 新 しいフィールドに 割 り 当 てられます ( 以 降 のコードは すべてフォームロードイベント 内 に 記 述 し ます ) コードの 書 き 方 ' コントロールを 初 期 化 します With c1r ' 既 存 のフィールドを 削 除 します.Clear() ' 全 てのコントロールのデフォルトフォントを 設 定 します.Font.Name = "Tahoma".Font.Size = 8 End With コードの 書 き 方 // コントロールを 初 期 化 します // 既 存 のフィールドを 削 除 します c1r.clear(); // 全 てのコントロールのデフォルトフォントを 設 定 します c1r.font.name = "Tahoma"; c1r.font.size = 8; 3. 次 に DataSource オブジェクトを 設 定 し NorthWind データベースから 必 要 なデータを 取 得 します これに は ConnectionString プロパティとRecordSourceプロパティを 使 用 します(Microsoft ADO DataControl と 同 様 ) コードの 書 き 方 ' データソースを 初 期 化 します With c1r.datasource.connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=C:\...\ComponentOne Samples\Common\Nwind.mdb;" & _ "Persist Security Info=False".RecordSource = "Employees" End With コードの 書 き 方 //データソースを 初 期 化 します DataSource ds = c1r.datasource; ds.connectionstring 52 Copyright GrapeCity inc. All rights reserved.

54 Source=C:\...\ComponentOne Samples\Common\Nwind.mdb;"; ds.recordsource = "Employees"; 4. 次 に ページ 上 のレポートのレイアウト 方 法 を 定 義 する Layout オブジェクトを 初 期 化 します ここでは レポートの 出 力 方 法 を 縦 置 きモードに Width を 6.5 インチ(ページ 幅 の 8.5 インチから 両 側 のマージン 各 1インチを 引 いた 値 )に 設 定 します コードの 書 き 方 ' レイアウトを 初 期 化 します With c1r.layout.orientation = OrientationEnum.Portrait.Width = 6.5 * 1440 ' margins, in twips End With コードの 書 き 方 // レイアウトを 初 期 化 します Layout l = c1r.layout; l.orientation = OrientationEnum.Portrait; l.width = 6.5 * 1440; // margins, in twips 5. 次 が 最 も 注 目 すべき 部 分 です すべてのレポートには 5つの 基 本 セクション( 詳 細 レポートヘッダ レポートフッタ ページヘッダ ページフッタ)があります まず いくつかのプロパティを 設 定 し タイトルフィールドを 追 加 して レポート ヘッダを 設 定 します コードの 書 き 方 ' レポートフィールドの 作 成 とフォーマットに 使 用 する 変 数 Dim f As Field ' レポートヘッダを 作 成 します r With c1r.sections(sectiontypeenum.header).height = 1440.Visible = True.BackColor = Color.FromArgb(200, 200, 200) f =.Fields.Add("FldTitle", "Employees Report", 0, 0, 8000, 1440) f.font.size = 24 f.font.bold = True f.forecolor = Color.FromArgb(0, 0, 100) End With コードの 書 き 方 // レポートフィールドの 作 成 とフォーマットに 使 用 する 変 数 Field f; // レポートヘッダを 作 成 します Section s = c1r.sections[sectiontypeenum.header]; 53 Copyright GrapeCity inc. All rights reserved.

55 s.height = 1440; s.visible = true; s.backcolor = Color.FromArgb(200, 200, 200); f = s.fields.add("fldtitle", "Employees Report", 0, 0, 8000, 1440); f.font.size = 24; f.font.bold = true; f.forecolor = Color.FromArgb(0, 0, 100); 上 のセクションオブジェクトには Fields コレクションがあります このコレクションのAdd メソッドは 新 しいフィールド を 作 成 し それをセクションに 割 り 当 てます パラメータには 新 しいフィールドの Name, Text Left Top Width およびHeight の 各 プロパティを 指 定 しています デフォルトでは フィールドのフォントはコントロールと 同 じです この フィールドはタイトルなので フォントを 変 更 してサイズを 大 きくしています フォントサイズに 合 わせてフィールドの 高 さ を 十 分 大 きくするように 注 意 してください フォントサイズに 対 してフィールドの 高 さが 十 分 でない 場 合 何 も 表 示 されま せん 6. 次 に ページフッタセクションを 設 定 します このセクションには 計 算 フィールドが 含 まれており さらに 興 味 深 いコードに なっています 計 算 フィールドは Text プロパティに VBScript 式 が 含 まれており これらの 式 はレポートの 出 力 時 に 評 価 されます 計 算 フィールドを 作 成 するには Calculatedプロパティを True に 設 定 します : コードの 書 き 方 ' ページを 作 成 します With c1r.sections(sectiontypeenum.pagefooter).height = 500.Visible = True f =.Fields.Add("FldFtrLeft", """Employees: Printed on "" & Now",_ 0, 0, 4000, 300) f.calculated = True f =.Fields.Add("FldFtrRight", """Page "" & Page & "" of "" & Pages",_ 4000, 0, 4000, 300) f.calculated = True f.align = FieldAlignEnum.RightTop f.width = c1r.layout.width - f.left f =.Fields.Add("FldLine", "", 0, 0, c1r.layout.width, 20) f.lineslant = LineSlantEnum.NoSlant f.borderstyle = BorderStyleEnum.Solid f.bordercolor = Color.FromArgb(0, 0, 100) End With コードの 書 き 方 // ページを 作 成 します s = c1r.sections[sectiontypeenum.pagefooter]; s.height = 500; s.visible = true; f = Printed on "" & Now",_ 0, 0, 4000, 300); f.calculated = true; f "" + Page + "" of "" & Pages",_ 4000, 0, 4000, 300); f.calculated = true; 54 Copyright GrapeCity inc. All rights reserved.

56 f.align = FieldAlignEnum.RightTop; f.width = c1r.layout.width - f.left; f = s.fields.add("fldline", "", 0, 0, c1r.layout.width, 20); f.lineslant = LineSlantEnum.NoSlant; f.borderstyle = BorderStyleEnum.Solid; f.bordercolor = Color.FromArgb(0, 0, 100); このページフッタセクションの 式 では VBScript 固 有 の 変 数 ではなく C1Reportで 定 義 されている 変 数 が 使 用 されてい ます Page および Pages は 現 在 のページ 番 号 と 総 ページ 数 を 含 む 変 数 です また このセクションでは 1 本 の 線 と して 表 示 されるように 設 定 されたフィールドを 使 用 しています そのために BorderStyle プロパティとLineSlant プロ パティが 使 用 されています 7. 次 に ページヘッダセクションを 設 定 します このセクションは 各 ページの 上 部 に 出 力 され フィールドラベルが 表 示 さ れます ページヘッダセクションをフィールドラベルの 表 示 に 使 用 するのは 表 形 式 のレポートにおける 一 般 的 なテク ニックです すべてのフィールドのサイズを 指 定 しているため 多 少 煩 雑 に 見 えるかもしれませんが コード 自 体 はシン プルです 実 際 のアプリケーションでは これらの 値 はプログラムに 組 み 込 まれることはありません コードの 書 き 方 ' フィールドラベルを 含 むページヘッダを 作 成 します With c1r.sections(sectiontypeenum.pageheader).height = 500.Visible = True c1r.font.bold = True f =.Fields.Add("LblID", "ID", 0, 50, 400, 300) f.align = FieldAlignEnum.RightTop f =.Fields.Add("LblFirstName", "First", 500, 50, 900, 300) f =.Fields.Add("LblLastName", "Last", 1500, 50, 900, 300) f =.Fields.Add("LblTitle", "Title", 2500, 50, 2400, 300) f =.Fields.Add("LblTitle", "Notes", 5000, 50, 8000, 300) c1r.font.bold = False f =.Fields.Add("FldLine", "", 0, 400, c1r.layout.width, 20) f.lineslant = LineSlantEnum.NoSlant f.linewidth = 50 f.bordercolor = Color.FromArgb(100, 100, 100) End With コードの 書 き 方 //フィールドラベルを 含 むページヘッダを 作 成 します v s = c1r.sections[sectiontypeenum.pageheader]; s.height = 500; s.visible = true; c1r.font.bold = true; f = s.fields.add("lblid", "ID", 0, 50, 400, 300); f.align = FieldAlignEnum.RightTop; f = s.fields.add("lblfirstname", "First", 500, 50, 900, 300); f = s.fields.add("lbllastname", "Last", 1500, 50, 900, 300); f = s.fields.add("lbltitle", "Title", 2500, 50, 2400, 300); f = s.fields.add("lbltitle", "Notes", 5000, 50, 8000, 300); 55 Copyright GrapeCity inc. All rights reserved.

57 c1r.font.bold = false; f = s.fields.add("fldline", "", 0, 400, c1r.layout.width, 20); f.lineslant = LineSlantEnum.NoSlant; f.linewidth = 50; f.bordercolor = Color.FromArgb(100, 100, 100); 上 のコードは フォントを 処 理 する 効 果 的 なテクニックの 例 を 示 しています すべてのフィールドは 作 成 時 にコントロー ルのフォントを 継 承 するため フィールドを 作 成 する 前 にコントロールの Font.Bold プロパティを True に 設 定 し 後 で この 設 定 を False に 戻 します これにより ページヘッダセクション 内 のすべてのコントロールのフォントが 太 字 になりま す 8. 次 に 詳 細 セクションを 追 加 して レポートを 完 成 させます 詳 細 セクションは 実 際 のデータを 表 示 するセクションです ページヘッダセクションの 各 ラベルの 下 に 計 算 フィールドを 設 定 します コードの 書 き 方 ' 詳 細 セクションを 作 成 します With c1r.sections(sectiontypeenum.detail).height = 330.Visible = True f =.Fields.Add("FldID", "EmployeeID", 0, 0, 400, 300) f.calculated = True f =.Fields.Add("FldFirstName", "FirstName", 500, 0, 900, 300) f.calculated = True f =.Fields.Add("FldLastName", "LastName", 1500, 0, 900, 300) f.calculated = True f =.Fields.Add("FldTitle", "Title", 2500, 0, 2400, 300) f.calculated = True f =.Fields.Add("FldNotes", "Notes", 5000, 0, 8000, 300) f.width = c1r.layout.width - f.left f.calculated = True f.cangrow = True f.font.size = 6 f.align = FieldAlignEnum.JustTop f =.Fields.Add("FldLine", "", 0, 310, c1r.layout.width, 20) f.lineslant = LineSlantEnum.NoSlant f.borderstyle = BorderStyleEnum.Solid f.bordercolor = Color.FromArgb(100, 100, 100) End With コードの 書 き 方 // 詳 細 セクションを 作 成 します s = c1r.sections[sectiontypeenum.detail]; s.height = 330; s.visible = true; f = s.fields.add("fldid", "EmployeeID", 0, 0, 400, 300); f.calculated = true; f = s.fields.add("fldfirstname", "FirstName", 500, 0, 900, 300); f.calculated = true; f = s.fields.add("fldlastname", "LastName", 1500, 0, 900, 300); 56 Copyright GrapeCity inc. All rights reserved.

58 f.calculated = true; f = s.fields.add("fldtitle", "Title", 2500, 0, 2400, 300); f.calculated = true; f = s.fields.add("fldnotes", "Notes", 5000, 0, 8000, 300); f.width = c1r.layout.width - f.left; f.calculated = true; f.cangrow = true; f.font.size = 6; f.align = FieldAlignEnum.JustTop; f = s.fields.add("fldline", "", 0, 310, c1r.layout.width, 20); f.lineslant = LineSlantEnum.NoSlant; f.borderstyle = BorderStyleEnum.Solid; f.bordercolor = Color.FromArgb(100, 100, 100); すべてのフィールドが 計 算 フィールドであること また 各 フィールドのText プロパティがソースレコードセット 内 のフィー ルド 名 に 対 応 していることに 注 意 してください Calculated プロパティを True に 設 定 すると Text プロパティはテキスト どおりに 出 力 されるのではなく データベースのフィールド 名 として 認 識 されます レポートのフィールド 名 がレコードセッ ト 内 のフィールド 名 とは 異 なる 一 意 の 名 前 になるように 名 前 付 け 規 則 を 決 める 必 要 があります たとえば "LastName" という 名 前 のフィールドが2つあると Left(LastName,1) という 式 はあいまいになります この 例 では レ ポートのフィールド 名 はすべて "Fld" で 始 まるという 名 前 付 け 規 則 を 採 用 しました また "FldNotes" フィールドのCanGrow プロパティが True に 設 定 され 他 より 小 さいフォントが 設 定 されていることに も 注 目 してください これは データベースの "Notes" フィールドには 多 くのテキストが 含 まれており レポートにそれら をすべて 表 示 するためです フィールドの 高 さを 大 きく 設 定 して 無 駄 なスペースをとるのではなく CanGrow プロパティ を True に 設 定 して コントロールがコンテンツに 合 わせてフィールドを 拡 張 するようにしています また このフィールド を 含 むセクションのCanGrow プロパティも True に 設 定 されるため フィールドがセクションからはみ 出 ることはありま せん 9. これで レポート 定 義 は 完 了 です レポートを C1PrintPreview コントロールにレンダリングするには 次 のコードを 入 力 します コードの 書 き 方 RenderEmployees() ' レポートを C1PrintPreview コントロールにレンダリングします ppv.document = c1r.document コードの 書 き 方 RenderEmployees(); // レポートを C1PrintPreview コントロールにレンダリングします ppv.document = c1r.document; 基 本 レポートの 外 観 は 次 のようになります 57 Copyright GrapeCity inc. All rights reserved.

59 レポートデータの 読 み 込 み レポートを 作 成 するには レポート 定 義 の 他 に 実 際 のデータが 必 要 です 通 常 は データベースからデータを 取 得 しますが 他 の 場 所 から 取 得 することもできます データベースから 読 み 込 む レポートデータをロードする 最 も 簡 単 な 方 法 は C1Report コントロールの DataSourceの ConnectionString プロパティと RecordSource プロパティを 設 定 することです これらのプロパティを 設 定 すると それを 使 用 して C1Report によってデータ ベースから 自 動 的 にデータがロードされます それ 以 上 の 作 業 は 必 要 ありません データベースから 読 み 込 む 1. C1Report デザイナで [ 新 しいレポートの 追 加 ]ボタンを 選 択 します C1Report ウィザードが 表 示 され 新 しいレポート の 作 成 手 順 が 最 初 から 最 後 まで 示 されます 2. ウィザードの 最 初 の 手 順 で データソースを 選 択 する 必 要 があります [ 接 続 文 字 列 の 作 成 ]ボタン をクリックしま す [データリンクプロパティ]ダイアログボックスが 表 示 されます 3. 最 初 に データプロバイダを 選 択 する 必 要 があります [プロバイダ]タブを 選 択 し リストからデータプロバイダを 選 択 し ます この 例 では Microsoft Jet 4.0 OLE DB Provider を 選 択 します 58 Copyright GrapeCity inc. All rights reserved.

60 4. [ 次 へ]ボタンをクリックするか [ 接 続 ]タブを 選 択 します ここで データソースを 選 択 する 必 要 があります 5. データベースを 選 択 するには 省 略 符 ボタンをクリックします [Access データベースの 選 択 ]ダイアログボックスが 表 示 されます この 例 では Nwind.mdb を 選 択 します このディレクトリはデフォルトのインストールパスに 基 づいていま すが インストールパスを 変 更 した 場 合 は パスが 異 なる 場 合 があります 6. [ 開 く]をクリックします 接 続 をテストし [OK]をクリックします 7. [OK]をクリックして [Access データベースの 選 択 ]ダイアログボックスを 閉 じます 8. データソースを 選 択 したら テーブル ビュー またはストアドプロシージャを 選 択 して 実 際 のデータを 提 供 できま す RecordSource の 文 字 列 は 次 の2つの 方 法 で 指 定 できます [テーブル]オプションをクリックし リストからテーブルを 選 択 します [SQL]オプションをクリックし エディタに SQL 文 を 入 力 (または 貼 り 付 け)します たとえば 次 のように 記 述 します select * from products inner join categories on categories.categoryid = products.categoryid 9. [ 次 へ]をクリックします ウィザードに 従 って 残 りの 手 順 を 実 行 します ストアドプロシージャからのデータのロード ストアドプロシージャ(sproc)は アプリケーション 全 体 の 論 理 の 一 貫 した 実 装 を 達 成 するのを 支 援 し パフォーマンスを 向 上 さ せ データベースのテーブルの 詳 細 を 知 る 必 要 性 からユーザーを 解 放 できます ストアドプロシージャの 主 な 利 点 の1つは パ ラメータを 渡 してデータベースにレコードセットをフィルタさせることができる 点 です これにより より 小 さいデータセットが 返 さ れ レポートの 操 作 がスピードアップして 簡 単 になります [C1Report ウィザード]のストアドプロシージャからレポートにデータを 移 植 できます [C1Report ウィザード]を 開 くには 次 の1つを 実 行 します C1ReportDesigner アプリケーションから レポート タブの 新 しいレポート ボタンをクリックします 59 Copyright GrapeCity inc. All rights reserved.

61 Visual Studio で C1Report コンテキストメニューから[レポートの 編 集 ]を 選 択 します Visual Studio で [C1Report タスク]メニューから[レポートの 編 集 ]を 選 択 します [レポートの 編 集 ]リンクへのアクセス 方 法 の 詳 細 については C1Report タスクメニュー または C1Report コンテキストメ ニュー を 参 照 してください ストアドプロシージャからレポートにデータを 移 植 することは SQL ステートメントや 単 純 なテーブルを 使 用 するのと 何 も 違 いは ありません C1ReportWizard の 最 初 の 画 面 で... ボタンをクリックし データソースを 選 択 します 次 に 使 用 可 能 な[デー タソース]のリストから[ストアドプロシージャ]を 選 択 します [ 次 へ]を 選 択 して ウィザードを 続 行 します 他 のデータフォームのロードと 同 様 に 次 の2つのオプションがあります DataSource の ConnectionString と RecordSource プロパティを 使 用 し データソースを 選 択 できます デザイナで [DataSource]ダイアログボックスを 使 用 し 接 続 文 字 列 を 選 択 ( 省 略 符 号... ボタンをクリック)した 後 リ ストから 使 用 するテーブルまたは sproc を 選 択 します たとえば 次 のようになります connectionstring = "Provider=SQLOLEDB.1;Integrated Security=SSPI;" + "Persist Security Info=False;Initial Catalog=Northwind;Data Source=YOURSQLSERVER;" recordsource = "[Employee Sales by Country]('1/1/1990', '1/1/2010')" (この 場 合 ストアドプロシージャの 名 前 はスペースを 含 むため 角 カッコ([])で 囲 っています ) 希 望 する 任 意 のメソッドを 使 用 してデータソースを 作 成 した 後 それを DataSource の Recordset プロパティに 割 り 当 てることができます このメソッドは コードの 記 述 を 必 要 とし どこかにキャッシュしたデータを 使 用 して 複 数 のレポートを 生 成 する 場 合 に 便 60 Copyright GrapeCity inc. All rights reserved.

62 利 です これは 前 のメソッドをオーバーライドします(ConnectionString RecordSource および Recordset を 指 定 した 場 合 C1Report は Recordset を 使 用 します) 構 文 は 使 用 する 接 続 /アダプタのタイプ(OleDb SQL Oracle など)によって 異 なります 構 文 をすぐに 取 得 する 最 も 簡 単 な 方 法 は テーブルまたは sproc を Visual Studio の サーバーエクスプローラからフォームにドラッグする 方 法 で す これにより 必 要 なすべての 暗 号 要 素 が 追 加 され その 後 コードを 調 べて 必 要 な 部 分 を 選 択 できます ストアドプロシージャを 名 前 によってデータソースとして 指 定 できます sproc がパラメータを 持 つ 場 合 それらをパラ メータとして 渡 します たとえば MSSQL および ADVENTURE_WORKS.mdf データベースに 対 して 構 築 されるレポート 定 義 では [C1Report デザイナ]で 指 定 された SQL 要 求 は 次 のようになります( 必 要 に 応 じて ADVENTUREWORKS_DATA.MDF のパスを 調 整 ) PARAMETERS Empoyee Int 290; int int = [Empoyee] = XSD ファイルからのデータのロード XSD ファイルは XML スキーマドキュメントです Reports for WinForms は XSD ファイルと 互 換 性 があるため レポートデータ を XSD ファイルからロードできます レポートデータをロードするには ConnectionString プロパティを XSD ファイルの 名 前 に 設 定 できます XSD ファイルは ADO.NET DataSet オブジェクトの XML 表 現 を 含 みます したがって この 場 合 RecordSource プロパティを DataSet のテーブルの 名 前 に 設 定 します 注 意 :XSD ファイルを 作 成 するには 既 存 の DataSet オブジェクトを 受 け 取 って XmlWriteMode.WriteSchema パラ メータを 使 用 して WriteXml メソッドを 呼 び 出 します C1ReportDesigner アプリケーションで XSD ファイルをロードするのは [C1Report ウィザード]を 使 用 して 非 常 に 簡 単 にで きます XSD ファイルを 開 くには 次 の 手 順 を 実 行 します 1. 次 の1つを 実 行 し [C1Report ウィザード]を 開 きます C1ReportDesigner アプリケーションから レポート タブの 新 しいレポート ボタンをクリックします Visual Studio で C1Report コンテキストメニューから[レポートの 編 集 ]を 選 択 します Visual Studio で [C1Report タスク]メニューから[レポートの 編 集 ]を 選 択 します [C1Report ウィザード]が 開 きます C1ReportWizard の 最 初 の 画 面 で XSD ファイルを 選 択 できます [レポートの 編 集 ]リンクへのアクセス 方 法 の 詳 細 については C1Report タスクメニュー または C1Report コンテキストメ ニュー を 参 照 してください 2. [C1Report ウィザード]で [ 接 続 文 字 列 ]テキストボックスの 横 にある XSD ファイルの 選 択 ボタンをクリックします XSD ファイルの 選 択 ボタンは フォルダを 開 く アイコンとして 表 示 されます 61 Copyright GrapeCity inc. All rights reserved.

63 このボタンにより [XML スキーマ 定 義 ファイルの 選 択 ]ダイアログボックスが 開 きます 3. XSD ファイルに 移 動 して 選 択 し 開 く ボタンをクリックして XSD ファイルを 開 きます C1ReportDesigner アプリケーションで 選 択 されたファイルが 開 きます このファイルを 編 集 および 書 式 設 定 できま す 詳 細 については C1Report デザイナの 使 い 方 を 参 照 してください DataTable から 読 み 込 む 多 くのアプリケーションでは C1Reportの 外 部 にあるデータを 操 作 したり それを DataTable オブジェクトにロードする 必 要 が あります このような 場 合 は これらのオブジェクトをレポートデータソースとして 使 用 して レポートのレンダリング 時 にデータを 再 ロードする 無 駄 を 省 くことができます この 方 法 は 次 のようなアプリケーションでも 役 立 ちます セキュリティ 制 限 により 接 続 文 字 列 を 非 公 開 にする 必 要 があり データだけ(ソースではなく)を 公 開 できる 場 合 データベースが OLE DB(C1Report で 内 部 的 に 使 用 されるプロバイダ)によってサポートされていない 場 合 データをデータベース 以 外 から 取 得 する 場 合 代 わりに DataTable を 作 成 し カスタムコードを 使 ってデータを 挿 入 し ます DataTable オブジェクトを C1Report のデータソースとして 使 用 するには レポート 定 義 をロードし DataTable を C1Report の Recordset プロパティに 割 り 当 てるだけです 次 に 例 を 示 します コードの 書 き 方 ' キャッシュまたはセキュリティで 保 護 されたカスタムプロバイダから DataTable をロードします Dim dt As DataTable = GetMyDataTable() ' レポート 定 義 をロードします(データソースを 設 定 する 前 ) c1r.load(reportfile, reportname) ' DataTable を c1r1 コンポーネントのデータソースとして 使 用 します c1r.datasource.recordset = dt コードの 書 き 方 // ャッシュまたはセキュリティで 保 護 されたカスタムプロバイダから DataTable をロードします DataTable dt = GetMyDataTable(); 62 Copyright GrapeCity inc. All rights reserved.

64 // レポート 定 義 をロードします(データソースを 設 定 する 前 ) c1r.load(reportfile, reportname); // DataTable を c1r1 コンポーネントのデータソースとして 使 用 します c1r.datasource.recordset = dt; カスタムデータソースから 読 み 込 む カスタムオブジェクトをデータソースとして 使 用 できます 必 要 な 条 件 は カスタムオブジェクトが IC1ReportRecordset インタ フェースを 実 装 することだけです i 独 自 のデータソースオブジェクトを 実 装 するには IC1ReportRecordset インタフェースを 実 装 するオブジェクトを 作 成 する 必 要 があります カスタムデータソースオブジェクトを 作 成 したら そのインスタンスを 作 成 し それをRecordset プロパティに 割 り 当 てます 完 全 なカスタムデータソースオブジェクトを 作 成 する 例 については CustomData サンプルを 参 照 してください カスタムデータソースオブジェクトを 使 用 するには レポート 定 義 をロードし そのオブジェクトを C1Report の Recordset プロ パティに 割 り 当 てます 次 に 例 を 示 します コードの 書 き 方 ' カスタムデータソースオブジェクトを 取 得 します Dim rs As IC1ReportRecordset = CType(GetMyCustomDataSource(), IC1ReportRecordset) ' レポート 定 義 をロードします(データソースを 設 定 する 前 ) c1r.load(reportfile, reportname) ' c1r1 コンポーネントでカスタムデータソースオブジェクトを 使 用 します c1r.datasource.recordset = rs コードの 書 き 方 // カスタムデータソースオブジェクトを 取 得 します IC1ReportRecordset rs = (IC1ReportRecordset)GetMyCustomDataSource(); // レポート 定 義 をロードします(データソースを 設 定 する 前 ) c1r.load(reportfile, reportname); // c1r1 コンポーネントでカスタムデータソースオブジェクトを 使 用 します c1r.datasource.recordset = rs; グループ 化 とソート このセクションでは 積 算 合 計 集 計 式 グループ 化 およびソートを 使 用 してレポート 内 のデータを 構 成 する 方 法 について 説 明 します データのグループ 化 基 本 レイアウトの 設 計 後 特 定 のフィールドまたはその 他 の 基 準 によりレコードのグループ 化 を 指 定 して レポートを 読 みやすくで 63 Copyright GrapeCity inc. All rights reserved.

65 きます グループ 化 によって レコードのグループを 視 覚 的 に 分 類 し 各 グループの 紹 介 および 概 要 データを 表 示 できます 区 切 りグループは グループ 化 式 に 基 づきます 通 常 この 式 は 1つ 以 上 のレコードセットフィールドに 基 づきますが 必 要 に 応 じて 複 雑 にすることができます C1ReportDesigner アプリケーションを 使 用 するか またはコードを 使 用 して レポート 内 のデータをグループ 化 できます C1ReportDesigner を 使 用 したグループ 化 とソートの 追 加 グループは [グループヘッダー]と[グループフッター]セクションの 表 示 を 予 定 していない 場 合 であっても データのソートにも 使 用 されます C1ReportDesigner アプリケーションを 使 用 して グループをレポートに 追 加 できます レポートにグループを 追 加 したり レポート 内 のグループを 編 集 したりするには 以 下 の 手 順 を 実 行 します 1. C1ReportDesigner アプリケーションを 開 きます 詳 細 については Visual Studio からの C1Report デザイナへのアク セス を 参 照 してください 2. データ グループ 内 の デザイン タブにある ソートとグループ 化 ボタンをクリックします [ソートとグループ 化 ]ダイアロ グボックスが 表 示 されます このダイアログボックスを 使 用 して グループの 作 成 編 集 順 序 変 更 および 削 除 を 行 えま す 3. グループを 作 成 するには 追 加 ボタンをクリックし 新 しいグループのプロパティを 設 定 します [グループ 化 ]フィールド は レポート 内 でレコードをグループ 化 する 方 法 を 定 義 します 単 純 なグループ 化 では ドロップダウンリストから 直 接 フィールドを 選 択 できます 複 雑 なグループ 化 では グループ 化 式 を 入 力 できます たとえば [ 国 ]を 使 用 して 国 別 にグ ループ 化 したり [Left(Country, 1)]を 使 用 して 国 の 頭 文 字 別 にグループ 化 したりできます 4. このレポートに 沿 って [グループ 化 ] 式 で[ 国 ]を 選 択 します 5. 次 に 希 望 するソートのタイプを 選 択 します(この 例 では [ 昇 順 ]) 新 しいグループに 視 覚 的 な[グループヘッダー]と[グ ループフッター]セクションを 設 定 するかどうか およびグループを1ページ 上 に 一 緒 に 表 示 するかどうかも 指 定 できます メモ:メモまたはバイナリ(オブジェクト)フィールドを グループ 化 およびソートに 使 用 することはできません これは OLEDB によって 与 えられた 制 限 です この 時 点 で [ソートとグループ 化 ]ダイアログボックスは 以 下 のように 表 示 されます 64 Copyright GrapeCity inc. All rights reserved.

66 さらに 追 加 する 場 合 は [グループ]リストの 右 側 にある 矢 印 ボタンを 使 用 して これらの 順 序 を 変 更 できます この 結 果 レポート 内 の[グループヘッダー グループヘッダー]と[グループフッター]セクションの 位 置 が 自 動 的 に 調 整 されます フィールドを 削 除 するには 削 除 ボ タンを 使 用 します フィールドの 配 置 が 完 了 したら OK をクリックしてダイアログボックスを 閉 じて デザイナで 変 更 内 容 を 確 認 します 新 しいグ ループに 新 しい[グループヘッダー]と[グループフッター]セクションが 表 示 されます この 時 点 では 両 方 とも 高 さがゼロです が 端 部 をマウスでドラッグして これらを 拡 大 できます [グループヘッダー]が 表 示 され [グループフッター グループフッター]が 表 示 されないこ とに 注 意 してください これは ダイアログのボックスで グループヘッダー ボタンが ON になり グループフッター グループフッター ボタンが OFF のままになっているためです 表 示 されないセクションは ハッチングパターンで 表 示 され 不 可 視 であることを 示 します 新 しいセクションの 上 部 にマークされた 黄 褐 色 のバーには セクション 名 とグループの GroupBy プロパティの 値 を 含 むラベルが あります グループの 動 作 を 確 認 するには データフィールドの 追 加 ボタン をクリックし メニューから[ 国 ]を 選 択 して 新 規 に 作 成 した[グループヘッダー]セクション 内 の 領 域 をマークします 新 しいフィールドをクリックし それを 選 択 して 新 しいフィールドが 少 し 目 立 つように そのFontプロパティを 変 更 します コードを 使 用 したグループ 化 とソートの 追 加 効 果 的 なレポートは 単 にデータを 表 示 するのではなく 整 理 された 状 態 で 表 示 します C1Report は グループを 使 用 してデータ をグループ 化 し ソートします この 動 作 を 説 明 するために レポート 定 義 の 作 成 トピックのコードに 戻 り 社 員 を 国 別 にグルー プ 化 します 65 Copyright GrapeCity inc. All rights reserved.

67 次 のコードは レコードを 国 別 にソートし グループ 化 するグループオブジェクトを 作 成 します コードの 書 き 方 If chkgroup.checked Then ' 社 員 を 昇 順 で 国 別 にグループ 化 します Dim grp As Group grp = c1r.groups.add("grpcountry", "Country", SortEnum.Ascending) ' 新 しいグループの[グループヘッダー]セクションを 書 式 設 定 します With grp.sectionheader.height = 500.Visible = True f =.Fields.Add("CtlCountry", "Country", 0, 0, c1r.layout.width, 500) f.calculated = True f.align = FieldAlignEnum.LeftMiddle f.font.bold = True f.font.size = 12 f.borderstyle = BorderStyleEnum.Solid f.bordercolor = Color.FromArgb(0, 0, 150) f.backstyle = BackStyleEnum.Opaque f.backcolor = Color.FromArgb(150, 150, 220) f.marginleft = 100 End With ' 各 国 内 のファーストネームによって 社 員 をソートします c1r.groups.add("grpname", "FirstName", SortEnum.Ascending) End Ifデータのグループ 化 コードの 書 き 方 if (chkgroup.checked) { // 社 員 を 昇 順 で 国 別 にグループ 化 します Group grp = c1r.groups.add("grpcountry", "Country", SortEnum.Ascending); // 新 しいグループの[グループヘッダー]セクションを 書 式 設 定 します s = grp.sectionheader; s.height = 500; s.visible = true; f = s.fields.add("ctlcountry", "Country", 0, 0, c1r.layout.width, 500); f.calculated = true; f.align = FieldAlignEnum.LeftMiddle; f.font.bold = true; f.font.size = 12; f.borderstyle = BorderStyleEnum.Solid; f.bordercolor = Color.FromArgb(0, 0, 150); //f.backstyle = BackStyleEnum.Opaque; f.backcolor = Color.Transparent; f.backcolor = Color.FromArgb(150, 150, 220); f.marginleft = 100; 66 Copyright GrapeCity inc. All rights reserved.

68 } // 各 国 内 のファーストネームによって 社 員 をソートします c1r.groups.add("grpname", "FirstName", SortEnum.Ascending); 各 グループには [グループヘッダー]と[グループフッター]セクションがあります デフォルトでは 非 表 示 ですが 上 記 のコードは [グループヘッダー]セクションを 可 視 化 し グループを 定 義 する 国 を 表 示 します 次 に 国 を 示 すフィールドを 追 加 します 新 しい フィールドは 無 地 の 背 景 色 で 表 示 されます 最 後 に コードは 第 2グループを 追 加 し 各 国 内 でファーストネームによって 社 員 をソートします このグループは ソートにのみ 使 用 されます このため [グループヘッダー]と[グループフッター]セクションは 非 表 示 のままになります これで 変 更 が 完 了 しました 新 しいレポートを 表 示 するには Render メソッドを 含 むルーチンを 終 了 する 必 要 があります 次 の コードを btnemployees_click イベントハンドラに 追 加 します コードの 書 き 方 ' レポートを PrintPreviewControl に 表 示 します ppv.document = c1r.document コードの 書 き 方 // レポートを PrintPreviewControl に 表 示 します ppv.document = c1r.document; グループオブジェクトを 使 用 したレポートの 例 を 以 下 に 示 します 67 Copyright GrapeCity inc. All rights reserved.

69 データをソートする レポート 内 でデータをソートする 方 法 は2つあります データソースオブジェクト 自 体 をソートするか(SQL 文 の ORDER BY 句 を 使 用 ) レポートにグループを 追 加 します そのグループの GroupBy プロパティと Sort プロパティを 使 って 各 グループのソート 方 法 を 指 定 できます グループのソートは DataView.Sort プロパティを 使 って 実 行 されます このプロパティは 列 名 に 対 する 式 ではなく 列 名 の リストだけを 受 け 取 ります そのため グループ 式 が DatePart("yyyy", datecolumn) である 場 合 通 常 は 日 付 の 年 に 基 づ いてソートされることが 期 待 されますが 実 際 は datecolumn フィールド 内 の 日 付 に 基 づいてソートされます 年 に 基 づいてソートするには (SQL 文 を 変 更 して)データテーブルに 計 算 列 を 追 加 し この 計 算 列 に 基 づいてグループ 化 また はソートします サンプルを 含 むこの XML の 説 明 については Sort プロパティを 参 照 してください 次 の 図 は C1Report デザイナの 並 べ 替 え/グループ 化 エディタです グループソートを 指 定 できるフィールドに 注 目 してくださ い 両 方 の 方 法 を 使 用 する 場 合 は レポートグループに 設 定 されたソートが 優 先 されます このソートは データソースからデータ が 取 得 された 後 に 適 用 されます 注 意 : CommonTasks.xml にあるレポート 19: ソート を 参 照 してください レポートへ 積 算 合 計 を 追 加 する C1Report フィールドオブジェクトには RunningSum プロパティがあるため グループまたはレポート 全 体 の 積 算 合 計 を 簡 単 に 維 持 できます グループ 全 体 の 積 算 合 計 の 追 加 グループ 全 体 の 積 算 合 計 を 維 持 するには 以 下 のタスクを 実 行 します 1. C1ReportDesigner アプリケーションを 開 きます C1ReportDesigner へのアクセス 方 法 の 詳 細 については Visual Studio からの C1Report デザイナへのアクセス を 参 照 してください 2. 新 しいレポートを 作 成 するか 既 存 のレポートを 開 きます C1ReportDesigner アプリケーションでレポートを 準 備 した 68 Copyright GrapeCity inc. All rights reserved.

70 ら レポートのプロパティを 変 更 できます 3. デザイン ボタンをクリックし レポートの 編 集 を 開 始 します 4. デザインモードで プロパティウィンドウのドロップダウンリストからレポートを 選 択 します レポートの 使 用 可 能 なプロパ ティが 表 示 されます. 5. 集 計 フィールドをレポートに 追 加 します 1. デザイナツールバーから 集 計 フィールドの 追 加 ボタンをクリックします 2. VBScript エディタで 次 のスクリプトを 入 力 します Sum(ProductSalesCtl) 3. マウスをレポートの GroupHeader セクション 上 にドラッグします カーソルが 十 字 に 変 わります クリックとドラッ グによって 新 しいフィールドが 占 める 矩 形 を 定 義 した 後 ボタンを 解 放 して 新 しいフィールドを 作 成 します 6. RunningSum プロパティを SumOverGroup に 設 定 します(このプロパティを 表 示 するには プロパティフィルタをオフ にする 必 要 があります これはプロパティウィンドウのじょうごアイコンです) レポート 全 体 の 積 算 合 計 の 追 加 TC1Report フィールドオブジェクトには グループまたはレポート 全 体 の 積 算 合 計 を 維 持 するために 便 利 な RunningSum プロ パティがあります 複 数 のページにまたがる 積 算 合 計 を 維 持 するには スクリプトを 使 用 する 必 要 があります たとえば レ ポートに pagesum フィールドを 追 加 し 次 に 示 すスクリプトを 使 用 してフィールドを 更 新 します それには 次 のタスクを 実 行 します 1. C1Report デザイナを 開 き 新 しいレポートを 作 成 するか 既 存 のレポートを 開 きます C1Report デザイナにレポート を 開 いたら レポートのプロパティを 変 更 することができます 2. レポートの 編 集 を 開 始 するには [ 設 計 ]ボタンをクリックします 3. 設 計 モードで プロパティウィンドウの 上 にあるドロップダウンリストからレポートを 選 択 します レポートのプロパティが 表 示 されます 4. OnPage プロパティを 見 つけ その 横 の 空 のフィールドをクリックしてから 省 略 符 ボタンをクリックします 5. VBScript エディタが 表 示 されます コードエディタで 次 の 式 を 入 力 します 6. VBScript Editor が 表 示 されます 次 のVBScript 式 をコードエディタに 入 力 します: ' VBScript: Report.OnPage pagesum = 0 7. プロパティウィンドウの 上 のドロップダウンリストから[ 詳 細 ]を 選 択 します 詳 細 セクションのプロパティが 表 示 されま す 8. OnPrint プロパティを 見 つけ その 横 の 空 のフィールドをクリックしてから 省 略 符 ボタンをクリックします 9. VBScript エディタが 表 示 されます コードエディタで 次 の 式 を 入 力 します ' VBScript: Detail.OnPrint pagesum = pagesum + UnitsInStock 注 意 :CommonTasks.xml にあるレポート 17: 積 算 合 計 を 参 照 してください 小 計 などの 集 計 の 追 加 C1Reportは すべての 計 算 フィールドで 集 計 式 をサポートします 集 計 式 には 通 常 使 用 される Sum Avg Min Max Count Range StDev などが 含 まれます すべての 集 計 関 数 は 引 数 として 式 を 受 け 取 り レポート 内 の 位 置 によって 特 定 される 範 囲 内 でその 式 を 評 価 します たとえ ば グループヘッダまたはグループフッタ 内 の 集 計 は そのグループを 対 象 範 囲 にします レポートヘッダーまたはレポート フッター 内 の 集 計 は レポート 全 体 を 対 象 範 囲 にします たとえば 次 の 集 計 式 は 集 計 の 範 囲 (グループまたはレポート) 内 で Sales フィールドのすべての 値 の 合 計 を 返 します : Sum(Sales) 次 の 集 計 式 は レポート 内 のすべての 値 に 対 して 消 費 税 の 合 計 を 返 します( 消 費 税 を 8.5% と 仮 定 ) :Sum(Sales * 0.085) domain という 名 前 の2 番 目 の 引 数 で 集 計 の 範 囲 を 狭 めることができます domain 引 数 は 現 在 の 範 囲 内 の 各 値 を 集 計 計 算 に 入 れる 必 要 があるかどうかを 判 断 するための 式 です 69 Copyright GrapeCity inc. All rights reserved.

71 たとえば 次 の 集 計 式 は カテゴリ1の 製 品 に 対 して Sales フィールド 内 のすべての 値 の 合 計 を 返 します : Sum(Sales, Category = 1) 次 の 集 計 式 は $10,000 を 超 える 売 上 の 数 を 返 します : Count(*, Sales > 10000) 注 意 : CommonTasks.xml にあるレポート 13: 小 計 などの 集 計 を 参 照 してください クロスタブ 型 レポートを 作 成 する クロスタブ 型 レポートは データを2 次 元 ( 下 方 向 と 横 方 向 )にグループ 化 します クロスタブ 型 レポートは 情 報 を 相 互 参 照 す る 形 式 で 大 量 のデータをまとめる 場 合 に 便 利 です クロスタブ 型 レポートを 作 成 するには 通 常 最 初 に GROUP BY クエリーでデータを 行 に 集 約 し 次 に 転 置 (ピボット)サービス を 使 ってグループ 化 された 列 を 作 成 します 転 置 サービスは データベースサーバー 自 体 から 提 供 されるか カスタムプログラ ムを 使 用 するか C1Report の 組 み 込 みドメイン 集 計 を 使 用 できます どのような 場 合 でも クロスタブ 型 レポートの 最 も 重 要 な 要 素 は 元 のデータの 集 約 ビューです たとえば 典 型 的 な 集 約 ビューは 次 のようになります 年 四 半 期 金 額 各 四 半 期 に 対 応 する 列 を 追 加 し 値 を 新 しい 列 に 集 約 することで このデータを 転 置 します 年 合 計 四 半 期 1 四 半 期 2 四 半 期 3 四 半 期 それには C1Report の 集 計 関 数 を 使 用 します レポートを 年 ごとにグループ 化 します 詳 細 セクションを 非 表 示 にし グルー プヘッダに 次 の 集 計 を 入 れます 年 合 計 四 半 期 1 四 半 期 2 四 半 期 3 四 半 期 4 [Year] Sum(Amount) Sum(Amount, Quarter=1) Sum(Amount, Quarter=2) Sum(Amount, Quarter=3) Sum(Amount, Quarter=4) 最 初 の 集 計 は 当 年 の 売 上 合 計 を 計 算 します 四 半 期 ごとの 集 計 では 集 計 を 特 定 の 四 半 期 に 限 定 するためにドメインを 指 定 します CommonTasks.xml にあるレポート 20: クロスタブ 型 レポート を 参 照 してください VBScript 式 70 Copyright GrapeCity inc. All rights reserved.

72 VBScript 式 は レポートのコンテンツを 取 得 計 算 表 示 グループ 化 ソート フィルタ パラメータ 化 および 書 式 設 定 するた めにレポート 定 義 内 で 広 く 使 用 されます いくつかの 式 は 自 動 的 に 作 成 されます たとえば ツールボックスからフィールドをレ ポートのセクションにドラッグすると テキストボックスにそのフィールドの 値 を 取 得 する 式 が 表 示 されます ただし ほとんどの 場 合 レポートに 機 能 を 追 加 するには 独 自 に 式 を 作 成 する 必 要 があります VBScript の 式 と 文 には 次 の 違 いがあります : 式 は 値 を 返 します これを Field.Text プロパティなどに 割 り 当 てることができます Field1.Calculated = true Field1.Text = "iif( 1=1, 1+2, 1+3 )" 文 は 値 を 返 しません OnFormat などのイベントプロパティに 割 り 当 てることができます たとえば 次 のように 記 述 し ます c1r.onopen = "if 1=1 then msgbox("ok!!!") else msgbox("ooops")" C1Report は 計 算 フィールドでの 式 の 評 価 やレポートイベントの 処 理 を VBScript に 依 存 しています レポートイベントとコント ロールイベントの 違 いについては 後 で 説 明 します VBScript は 多 機 能 の 言 語 で C1Report の 式 を 記 述 する 際 は VBScript のほとんどのメソッドと 関 数 にアクセスできます VBScript 固 有 の 機 能 については Microsoft Developer's Network (MSDN)をはじめ 多 くの 書 籍 や Web サイトで 説 明 され ているため 本 マニュアルでは 説 明 しません ) C1Report は VBScript を 拡 張 するために 追 加 のオブジェクト 変 数 および 関 数 を 公 開 しています 次 に これらの 拡 張 に ついて 説 明 します オブジェクトと 変 数 The following tables detail VBScript elements, objects, and variables. 演 算 子 次 の 表 に VBScript の 演 算 子 を 一 覧 します 演 算 子 And Or Not Mod 説 明 2つの 式 の 論 理 積 を 実 行 します 2つの 式 の 論 理 和 を 実 行 します 式 の 論 理 否 定 を 返 します 2つの 数 値 で 割 り 算 を 実 行 し 余 りだけを 返 します 予 約 シンボル 次 の 表 に VBScript の 予 約 シンボルとそれらの 使 用 方 法 を 一 覧 します キーワード True False Nothing 説 明 True キーワードは -1 と 等 しい 値 を 持 ちます False キーワードは 0 と 等 しい 値 を 持 ちます 実 オブジェクトからオブジェクト 変 数 の 関 連 付 けを 解 除 します オブジェクト 変 数 に Nothing を 割 り 当 てるには Set 文 を 使 用 します たとえば 次 のように 記 述 します Set MyObject = Nothing 複 数 のオブジェクト 変 数 が 同 じ 実 オブジェクトを 参 照 している 場 合 があります 1つの オブジェクト 変 数 に Nothing を 割 り 当 てた 場 合 その 変 数 は 実 オブジェクトを 参 照 し なくなります 複 数 のオブジェクト 変 数 が 同 じオブジェクトを 参 照 している 場 合 それら 71 Copyright GrapeCity inc. All rights reserved.

73 キーワード Null vbcr vbcrlf vblf vbformfeed vbnewline vbnullchar vbtab vbverticaltab vbblack vbred vbgreen vbyellow vbblue vbmagenta vbcyan vbwhite 説 明 の 変 数 が 参 照 するオブジェクトに 関 連 付 けられているメモリおよびシステムリソース は Set を 使 用 することで 明 示 的 に または 最 後 のオブジェクト 変 数 が Nothing に 設 定 されることで 暗 黙 的 に すべての 変 数 が Nothing に 設 定 された 後 でのみ 解 放 されます Null キーワードは 変 数 に 有 効 なデータが 含 まれていないことを 示 すために 使 用 さ れます 印 刷 および 表 示 機 能 を 呼 び 出 す 際 に コード 内 で 実 際 の 値 の 代 わりに 次 の 定 数 を 使 用 できます 印 刷 および 表 示 機 能 を 呼 び 出 す 際 に コード 内 で 実 際 の 値 の 代 わりに 次 の 定 数 を 使 用 できます 印 刷 および 表 示 機 能 を 呼 び 出 す 際 に コード 内 で 実 際 の 値 の 代 わりに 次 の 定 数 を 使 用 できます 印 刷 および 表 示 機 能 を 呼 び 出 す 際 に コード 内 で 実 際 の 値 の 代 わりに 次 の 定 数 を 使 用 できます 印 刷 および 表 示 機 能 を 呼 び 出 す 際 に コード 内 で 実 際 の 値 の 代 わりに 次 の 定 数 を 使 用 できます 印 刷 および 表 示 機 能 を 呼 び 出 す 際 に コード 内 で 実 際 の 値 の 代 わりに 次 の 定 数 を 使 用 できます 印 刷 および 表 示 機 能 を 呼 び 出 す 際 に コード 内 で 実 際 の 値 の 代 わりに 次 の 定 数 を 使 用 できます 印 刷 および 表 示 機 能 を 呼 び 出 す 際 に コード 内 で 実 際 の 値 の 代 わりに 次 の 定 数 を 使 用 できます 黒 色 値 = 0x0 赤 色 値 = 0xFF 緑 色 値 = 0xFF00 黄 色 値 = 0xFFFF 青 色 値 = 0xFF0000 マゼンタ 値 = 0xFF00FF シアン 値 = 0xFFFF00 白 色 値 = 0xFFFFFF 組 み 込 み 関 数 VBScript の 組 み 込 み 関 数 を 次 の 表 に 一 覧 します Abs Date Iif Minute Sign Acos DateAdd InputBox Month Space Asc DateDiff InStr MonthName Sqr Asin DatePart InStrRev MsgBox StrComp Atn DateSerial Int Now String 72 Copyright GrapeCity inc. All rights reserved.

74 CBool DateValue IsDate Oct Tan CByte Day IsEmpty Pi Time CCur Exp IsNull Replace Timer CDate Fix IsNumeric RGB TimeSerial CDbl Format IsObject Right TimeValue Chr FormatCurrency LCase Rnd Trim CInt FormatDateTime Left Round TypeName CLng FormatNumber Len RTrim UCase Cos FormatPercent Log Second WeekDay CSng Hex LTrim Sgn WeekDayName CStr Hour Mid Sin Year VBScript 関 数 の 詳 細 については MSDN のドキュメントを 参 照 してください C1Reportでは 次 の VBScript 関 数 がサポート されていません Arrays Functions/Subs SSelect/Case 文 次 の C1Report 関 数 は VBScript に 含 まれていません 集 計 関 数 (Sum Average StDev Var Count など) レポートフィールド 名 とデータベースフィールド 名 Page/Pages 変 数 レポートオブジェクト 文 のキーワード VBScript 文 のキーワードを 次 の 表 に 一 覧 します If ElseIf To While Dim Then EndIf Next Wend Redim Else For Step Const レポートフィールド 名 Field オブジェクトの 名 前 は 評 価 されるとオブジェクトへの 参 照 を 返 します これにより フィールドのプロパティにアクセスで きます Field オブジェクトのデフォルトプロパティはValue なので フィールド 名 自 体 がフィールドの 現 在 の 値 を 返 します 次 に 例 を 示 します MyField.BackColor = RGB(200,250,100) MyField.Font.Size = 14 MyField * 2 ' (same as MyField.Value * 2) 注 記 :レポートフィールドにデータフィールドと 同 じ 名 前 を 付 けると レポートフィールドにアクセスできなくなります レポートのセクション 名 Section オブジェクトの 名 前 は 評 価 されるとオブジェクトへの 参 照 を 返 します これにより セクションのプロパティにアクセス できます Section オブジェクトのデフォルトプロパティはName です 次 に 例 を 示 します If Page = 1 Then [Page Footer].Visible = False 73 Copyright GrapeCity inc. All rights reserved.

75 データフィールド 名 レポートのソースデータセット 内 のフィールド 名 は 評 価 されると 現 在 のフィールドの 値 を 返 します フィールド 名 に 全 角 文 字 ス ペース またはピリオドが 含 まれる 場 合 は フィールド 名 を[ ]で 囲 む 必 要 があります 次 に 例 を 示 します OrderID UnitsInStock [Customer.FirstName] [Name With Spaces] Report Variables Page 変 数 Page プロパティの 値 を 取 得 または 設 定 します このプロパティは レポートの 出 力 の 開 始 時 にコントロールによって 初 期 化 さ れ ページ 区 切 りごとに1ずつ 増 加 します コードを 使 って 値 をリセットできます 次 に 例 を 示 します If Country <> LastCountry Then Page = 1 LastCountry = Country Pages 変 数 レポートの 出 力 の 終 了 時 に 総 ページ 数 に 置 き 換 えられるトークンを 返 します 読 み 取 り 専 用 のプロパティで 通 常 は ページの ヘッダフィールドまたはフッタフィールドで 使 用 されます 次 に 例 を 示 します "Page " & Page & " of " & Pages Report オブジェクト コントロールオブジェクトへの 参 照 を 返 します これにより スクリプトや 式 から C1Report オブジェクトモデル 全 体 にアクセスで きます 次 に 例 を 示 します "Fields: " & Report.Fields.Count Cancel 変 数 True に 設 定 すると レポートの 出 力 処 理 をキャンセルできます 次 に 例 を 示 します If Page > 100 Then Cancel = True 互 換 性 のための 関 数 や Microsoft Access(VBA)で 記 述 されたコードとの 互 換 性 を 高 めるために C1Report は IIf および Format と いう VBScript では 使 用 できない2つの 関 数 を 公 開 しています IIf は 論 理 式 を 評 価 し その 結 果 に 基 づいて2つの 値 のうちの1つを 返 します 次 に 例 を 示 します VBスクリプト Iif(SalesAmount > 1000, "Yes", "No") Format は 書 式 設 定 式 に 含 まれる 指 定 に 従 って 値 を 書 式 設 定 された 文 字 列 に 変 換 します 値 には 数 値 日 付 時 刻 ブール 値 文 字 列 などを 使 用 できます 書 式 は または VBA で 使 用 される 書 式 文 字 列 に 似 た 構 文 で 文 字 列 とし て 構 築 されます 次 の 表 で 書 式 文 字 列 に 使 用 される 構 文 について 説 明 します 74 Copyright GrapeCity inc. All rights reserved.

76 値 の 型 書 式 文 字 列 説 明 Number Percent, % 数 値 をパーセント 値 として 書 式 設 定 します( 小 数 点 以 下 は 0または2 桁 ) : Format(0.33, "Percent") = "33%" Format( , "Percent") = "33.33%" #,###.##0 マスクを 使 って 数 値 を 書 式 設 定 します 次 の 記 号 が 認 識 されます # 桁 のプレースホルダ 0 常 に 表 示 される 桁 のプレースホルダ, 1000 単 位 の 区 切 り ( 負 の 値 を( )で 囲 む % パーセント 値 として 書 式 設 定 する Format( , "#,###.##") = "1,234.12" Format(-1234, "#.00") = "( )" Format(.1234, "#.##") = ".12" Format(.1234, "0.##") = "0.12" Format(.3, "#.##%") = "30.00%" Currency Currency, $ 数 値 を 通 貨 値 として 書 式 設 定 します Format(1234, "$") = "$1,234.00" Boolean Yes/No Yes または No を 取 得 します Date Long Date Format(#12/5/1#, "long date") = "December 5, 2001" Short Date Format(#12/5/1#, "short date") = "12/5/2001" Medium Date Format(#12/5/1#, "medium date") = "05- Dec-01" q,m,d,w,yyyy 日 付 の 一 部 ( 四 半 期 月 月 通 算 日 年 通 算 週 年 など) を 取 得 します Format(#12/5/1#, "q") = "4" マスクを 使 って 文 字 列 を 書 式 設 定 します アットマーク (@)は 1つの 文 字 (アットマーク(@)が1つだけの 場 合 は 値 の 文 字 列 全 体 )を 表 すプレースホルダです 他 の 文 字 は リテラルとして 認 識 されます Format("AC55512", "@@-@@/@@") = "AC- 555/12" Format("AC55512", "@") = 値 が null または 空 文 字 列 ではない 場 合 は セミコロン(;) の 左 側 の 書 式 文 字 列 を 使 用 します null または 空 文 字 列 の 場 合 は セミコロン(;)の 右 側 の 部 分 を 取 得 します Format("@;Missing", "UK") = "UK" Format("@;Missing", "") = "Missing" メモ:VBScript には 独 自 の 組 み 込 み 書 式 設 定 関 数 (FormatNumber FormatCurrency FormatPercent FormatDateTime など)があります ここで 説 明 した VBA スタイルの Format 関 数 の 代 わりに これらの 関 数 を 使 用 す 75 Copyright GrapeCity inc. All rights reserved.

77 ることもできます 集 計 関 数 の 使 い 方 集 計 関 数 は 出 力 されるグループのデータをまとめるために 使 用 されます レポートヘッダフィールドで 使 用 された 式 は デー タセット 全 体 の 集 計 値 を 返 します グループのヘッダまたはフッタで 使 用 された 式 は そのグループの 集 計 値 を 返 します C1Report の 集 計 関 数 はすべて 次 の2つの 引 数 を 受 け 取 ります グループ 全 体 で 集 計 される VBScript 式 を 含 む 文 字 列 フィルタ(ドメイン 集 計 )として 使 用 される VBScript 式 を 含 むオプションの 文 字 列 フィルタ 式 は 各 値 が 集 計 される 前 に 評 価 される フィルタが False を 返 すと その 値 はスキップされて 集 計 結 果 に 含 まれない C1Report では 次 の 集 計 関 数 が 定 義 されています 値 の 型 Avg 説 明 現 在 のグループ 内 の 式 の 平 均 値 たとえば 次 の 式 はグループ 全 体 の 平 均 売 上 高 と 特 定 の 製 品 の 平 均 売 上 高 を 計 算 します Avg(SalesAmount) Avg(SalesAmount, ProductType = 3) Sum グループ 内 のすべての 値 の 合 計 Count グループ 内 の 値 が null でないレコードの 数 式 にアスタリスク(*)を 使 用 すると すべてのレコード を 含 めることができる たとえば 次 の 式 は 住 所 の 値 が 有 効 な(null ではない) 従 業 員 の 数 と 従 業 員 の 総 数 をカウントします Count(Employees.Address) Count(*) CountDistinct グループ 内 のnull 以 外 の 個 別 値 のレコードの 数 Min, Max 式 の 最 小 値 および 最 大 値 たとえば 次 の 式 は 売 上 高 の 最 大 値 を 取 得 します "Min Sale = " & Max(SaleAmount) Range 式 の 最 小 値 と 最 大 値 の 範 囲 StDev, Var StDevP, VarP 現 在 のグループ 内 の 式 の 標 準 偏 差 および 分 散 これらの 値 は SQL や Microsoft Excel と 同 様 に サンプル(n-1)の 式 を 使 って 計 算 される 現 在 のグループ 内 の 式 の 標 準 偏 差 および 分 散 これらの 値 は SQL や Microsoft Excel と 同 様 に 母 集 団 (n)の 式 を 使 って 計 算 される 集 計 関 数 を 使 用 するには ヘッダセクションまたはフッタセクションに 計 算 フィールドを 追 加 し フィールドのText プロパティに 式 を 割 り 当 てます たとえば NWind.xml サンプルファイルの "Employee Sales by Country" レポートには 複 数 の 集 計 フィールドが 含 まれて います このレポートは レコードを 国 (Country) 別 や 従 業 員 (Employee) 別 にグループ 化 しています Employee グループのフッタセクションにある SalespersonTotal フィールドには 次 の 式 が 含 まれています =Sum([SaleAmount]) このフィールドは Employee グループのフッタにあるため この 式 は 従 業 員 別 の 総 売 上 高 を 返 します CountryTotal フィールドと GrandTotal フィールドにも まったく 同 じ 式 が 含 まれています しかし これらのフィールドはそれ ぞれ Country グループのフッタおよびレポートフッタにあるため これらの 式 は 国 別 の 総 売 上 高 およびレコードセット 全 体 の 売 上 高 を 返 します グループ 内 から 上 位 レベルの 集 計 値 を 参 照 する 場 合 があります たとえば "Employee Sales by Country" レポートには 国 別 の 売 上 高 を 総 売 上 高 に 対 する 割 合 (%)で 表 示 するフィールドがあります Country グループ 内 で 計 算 されるすべての 集 計 値 は 現 在 の 国 を 参 照 するため この 割 合 値 を 直 接 計 算 することはできません その 代 わり PercentOfGrandTotal フィー 76 Copyright GrapeCity inc. All rights reserved.

78 ルドでは 次 の 式 を 使 用 します =[CountryTotal]/[GrandTotal] CountryTotal と GrandTotal は それぞれ Country フッタセクションとレポートフッタセクションにあるフィールドです した がって CountryTotal は 国 別 の 合 計 値 を GrandTotal はレコードセット 全 体 の 合 計 値 を 保 持 します コントロールがレコードセット 全 体 に 渡 ってデータを 調 べる 必 要 があるため 集 計 関 数 の 評 価 には 時 間 がかかります したがっ て 集 計 関 数 を 使 用 する 計 算 フィールドの 数 は 少 なくしてください 集 計 関 数 を 使 用 しないフィールドでは 集 計 式 を 再 度 評 価 するのではなく 集 計 関 数 を 使 用 するフィールドから 集 計 値 を 直 接 読 み 取 ります たとえば NorthWind データベース 内 の "Employee Sales by Country" レポートには 各 売 上 高 を 国 別 の 総 売 上 高 に 対 する 割 合 (%)で 表 示 する 詳 細 フィールドがあります このフィールドには 次 の 式 が 含 まれています =[SaleAmount]/[CountryTotal] SaleAmount は レコードセットのフィールドへの 参 照 で 各 詳 細 レコードごとに 値 が 変 化 します CountryTotal は 集 計 関 数 を 含 むレポートフィールドへの 参 照 です コントロールは この 式 を 評 価 する 際 にレポートフィールドから 直 接 集 計 値 を 取 得 し ます 集 計 の 再 計 算 は 行 いません レポートの 完 全 なサンプルについては ComponentOne Samples フォルダーに 存 在 するNwind.xml レポート 定 義 ファイル の Employee Sales by Country レポートを 参 照 してください イベントの 使 用 VBScript は 計 算 フィールドで 式 を 評 価 する 場 合 にだけ 使 用 できるわけではありません レポートの 出 力 時 に 実 行 されるスク リプトを 指 定 することもできます このようなスクリプトを 使 用 して レポートの 書 式 設 定 を 変 更 できます これらのスクリプトはイベントプロパティに 格 納 されます イベントプロパティは のイベントハンドラに 似 ています が スクリプトはレポートを 表 示 するアプリケーションの 適 用 範 囲 ではなく レポートの 適 用 範 囲 内 で 実 行 される 点 が 異 なりま す たとえば イベントプロパティを 使 用 すると フィールドのFont プロパティやForeColor プロパティをフィールドの 値 に 基 づ いて 設 定 できます この 動 作 は レポート 自 身 の 一 部 になり 出 力 に 使 用 されるアプリケーションに 関 係 なく 保 持 されます もちろん 従 来 のイベントも 使 用 できます 従 来 のイベントは レポートではなくアプリケーションに 影 響 を 及 ぼす 動 作 を 実 装 す るために 使 用 します たとえば StartPage イベントのハンドラを 記 述 して 出 力 されているレポートに 関 係 なく アプリケーショ ンでページ 数 を 更 新 できます 次 の 表 に 使 用 できるイベントプロパティと その 一 般 的 な 使 用 方 法 を 示 します 次 に これらのプロパティの 一 般 的 な 使 用 例 を 示 します オブジェクト イベントプロパティ 説 明 Report OnOpen レポートの 出 力 が 開 始 されると 発 生 します ConnectionString プロパティや RecordSource プロパティを 変 更 したり VBScript の 変 数 を 初 期 化 するために 使 用 できます OnClose OnNoData OnPage OnError レポートの 出 力 が 終 了 すると 発 生 します クリーンアップ 作 業 を 実 行 するために 使 用 できます レポートの 出 力 を 開 始 する 際 ソースレコードセットが 空 の 場 合 に 発 生 しま す Cancel プロパティを True に 設 定 して レポートの 生 成 を 中 止 できます また ダイアログボックスを 表 示 して レポートが 表 示 されない 理 由 をユーザーに 知 らせる こともできます 新 しいページが 開 始 されると 発 生 します さまざまなフィールドのセクションのVisible プロパティを 状 況 に 応 じて 設 定 するために 使 用 できます コントロールは 新 しい ページが 開 始 されるたびに 自 動 的 に1ずつ 増 える Page 変 数 を 保 持 しています エラーが 発 生 すると 発 生 します Section OnFormat セクション 内 のフィールドが 評 価 される 前 に 発 生 します この 時 点 では ソースレコー 77 Copyright GrapeCity inc. All rights reserved.

79 オブジェクト イベントプロパティ 説 明 ドセット 内 のフィールドは これから 出 力 される 値 を 反 映 しているが レポートフィール ドは 値 を 反 映 していない OnPrint セクション 内 のフィールドが 印 刷 される 前 に 発 生 します この 時 点 では フィールドの 評 価 は 終 了 しており 条 件 付 き 書 式 設 定 を 実 行 できます 値 に 応 じてフィールドを 書 式 設 定 する これは おそらく 最 も 一 般 的 な OnPrint プロパティの 使 用 方 法 です Nwind.xml サンプルファイルの "Orders by Value" レ ポートを 例 にします このレポートでは 製 品 別 にグループ 化 された 注 文 数 がリストされます 別 のフィールドを 使 って 在 庫 数 を 表 示 する 代 わりに 製 品 の 名 前 を 赤 色 の 太 字 で 表 示 することによって 在 庫 が 追 加 注 文 レベルより 少 ない 製 品 を 強 調 表 示 し ます コードを 使 用 して 追 加 注 文 レベルより 少 ない 製 品 を 強 調 表 示 するには 在 庫 が 追 加 注 文 レベルより 少 ない 製 品 を 強 調 表 示 するためには 次 のようなイベントスクリプトを 使 用 します コードの 書 き 方 Dim script As String = _ "If UnitsInStock < ReorderLevel Then" & vbcrlf & _ "ProductNameCtl.ForeColor = RGB(255,0,0)" & vbcrlf & _ "ProductNameCtl.Font.Bold = True" & vbcrlf & _ "Else" & vbcrlf & _ "ProductNameCtl.ForeColor = RGB(0,0,0)" & vbcrlf & _ "ProductNameCtl.Font.Bold = False" & vbcrlf & _ "End If" c1r.sections.detail.onprint = script コードの 書 き 方 string script = "if (UnitsInStock < ReorderLevel) then\r\n" + "ProductNameCtl.ForeColor = rgb(255,0,0)\r\n" + "ProductNameCtl.Font.Bold = true\r\n" + "else\r\n" + "ProductNameCtl.ForeColor = rgb(0,0,0)\r\n" + "ProductNameCtl.Font.Bold = false\r\n" + "end if\r\n"; c1r.sections.detail.onprint = script; このコードは VBScript のイベントハンドラを1つの 文 字 列 として 作 成 し その 文 字 列 をセクションの OnPrint プロパティに 割 り 当 てます C1Report デザイナを 使 用 すると 上 のコードを 記 述 する 代 わりに イベントエディタウィンドウに 直 接 スクリプトコー ドを 入 力 できます C1Report デザイナを 使 用 して 追 加 注 文 レベルより 少 ない 製 品 を 強 調 表 示 するには コードを 記 述 する 代 わりに C1Report デザイナを 使 用 して 詳 細 セクションの OnPrint プロパティの VBScript エディタに 次 の スクリプトコードを 直 接 入 力 できます 次 の 手 順 を 実 行 します 1. デザイナの[プロパティ]ウィンドウのドロップダウンリストから [ 詳 細 ]を 選 択 します これで セクションで 使 用 できるプ 78 Copyright GrapeCity inc. All rights reserved.

80 ロパティが 表 示 されます 2. OnPrint プロパティの 横 にある 空 のボックスをクリックし ドロップダウン 矢 印 をクリックして リストから[スクリプトエディスクリプトエディ タ]を 選 択 します 3. VBScript エディタのウィンドウに 次 のスクリプトを 入 力 します If UnitsInStock < ReorderLevel Then ProductNameCtl.ForeColor = RGB(255,0,0) ProductNameCtl.Font.Bold = True Else ProductNameCtl.ForeColor = RGB(0,0,0) ProductNameCtl.Font.Bold = False End If コントロールは このセクションを 出 力 するたびにこの VBScript コードを 実 行 します スクリプトは "ReorderLevel" データベー スフィールドの 値 を 取 得 し その 値 に 基 づいて "ProductName" レポートフィールドの Font.Bold プロパティと ForeColor プ ロパティを 設 定 します 在 庫 が 追 加 注 文 レベルより 少 ない 製 品 は 製 品 名 が 赤 色 の 太 字 になります 次 に レポートの 外 見 を 示 します 値 に 応 じてフィールドを 表 示 または 非 表 示 にする フィールドの 書 式 を 変 更 してフィールドのコンテンツを 強 調 表 示 する 代 わりに 別 のフィールドの Visible プロパティを True ま たは False に 設 定 することで 特 殊 効 果 を 生 成 することができます たとえば BoxCtl という 新 しいフィールドを 作 成 し 製 品 名 が 太 線 の 四 角 形 で 囲 まれるように 書 式 設 定 するには スクリプトを 次 のように 変 更 します If UnitsInStock < ReorderLevel Then BoxCtl.Visible = True Else BoxCtl.Visible = False End If コードを 使 用 して 追 加 注 文 レベルより 少 ない 製 品 を 強 調 表 示 するには 追 加 注 文 レベルより 少 ない 製 品 にボックスを 表 示 して 強 調 表 示 するには 次 のようなイベントスクリプトを 使 用 します 79 Copyright GrapeCity inc. All rights reserved.

81 コードの 書 き 方 Dim script As String = _ "If UnitsInStock < ReorderLevel Then" & vbcrlf & _ " BoxCtl.Visible = True" & vbcrlf & _ "Else" & vbcrlf & _ " BoxCtl.Visible = False" & vbcrlf & _ "End If" c1r.sections.detail.onprint = script コードの 書 き 方 string script = "if (UnitsInStock < ReorderLevel) then\r\n" + "BoxCtl.Visible = true\r\n" + "else\r\n" + "BoxCtl.Visible = false\r\n" + "end if\r\n"; c1r.sections.detail.onprint = script; このコードは VBScript イベントハンドラを 含 む 文 字 列 を 作 成 し それをセクションの OnPrint プロパティに 割 り 当 てます C1Report デザイナを 使 用 して 追 加 注 文 レベルより 少 ない 製 品 を 強 調 表 示 するには コードを 記 述 する 代 わりに C1Report デザイナを 使 用 して 詳 細 セクションの OnPrint プロパティの VBScript エディタに 次 の スクリプトコードを 直 接 入 力 できます 次 の 手 順 を 実 行 します 1. デザイナの[プロパティ]ウィンドウのドロップダウンリストから [ 詳 細 ]を 選 択 します これで セクションで 使 用 できるプ ロパティが 表 示 されます 2. OnPrint プロパティの 横 にある 空 のボックスをクリックし ドロップダウン 矢 印 をクリックして リストから[スクリプトエディスクリプトエディ タ]を 選 択 します 3. VBScript エディタのウィンドウに 次 のスクリプトを 入 力 します If UnitsInStock < ReorderLevel Then BoxCtl.Visible = True Else BoxCtl.Visible = False End If コントロールは セクションが 印 刷 されようとするたびに VBScript コードを 実 行 します このスクリプトは ReorderLevel データ ベースフィールドの 値 を 取 得 し その 値 に 基 づいて ProductName レポートフィールドの Font.Bold と ForeColor プロパティを 設 定 します 商 品 が 追 加 注 文 レベル 未 満 の 場 合 その 名 前 は 太 い 赤 字 になります 次 のスクリーンショットは 特 殊 効 果 が 適 用 されたレポートのセクションです 80 Copyright GrapeCity inc. All rights reserved.

82 ユーザーにパラメータの 入 力 を 求 める データベースに 格 納 されている 追 加 注 文 レベルより 少 ない 製 品 を 強 調 表 示 する 代 わりに ユーザーに 使 用 する 追 加 注 文 レ ベルの 入 力 を 求 めることができます ユーザーから 値 を 取 得 するには レポートのRecordSource プロパティを 変 更 して パラメータクエリーを 使 用 します パラメー タクエリーの 構 築 方 法 については 次 の 項 を 参 照 してください コードの 書 き 方 c1r.datasource.recordsource = _ "PARAMETERS [Critical Stock Level] Short 10;" & _ c1r.datasource.recordsource コードの 書 き 方 c1r.datasource.recordsource = "PARAMETERS [Critical Stock Level] short 10;" + c1r.datasource.recordsource; このように 設 定 すると コントロールは "Critical Stock Level" 値 の 入 力 をユーザーに 求 めます この 値 は VBScript のグロー バル 変 数 に 格 納 されるため イベントがその 値 を 使 用 できるようになります 変 数 のデフォルト 値 は 10 に 指 定 されています ユーザーによって 指 定 された 値 を 使 用 するには スクリプトを 次 のように 変 更 します コードの 書 き 方 Dim script As String = _ "level = [Critical Stock Level]" & vbcrlf & _ 81 Copyright GrapeCity inc. All rights reserved.

83 "If UnitsInStock < level Then" & vbcrlf & _ " ProductNameCtl.ForeColor = RGB(255,0,0)" & vbcrlf & _ " ProductNameCtl.Font.Bold = True" & vbcrlf & _ "Else" & vbcrlf & _ " ProductNameCtl.ForeColor = RGB(0,0,0)" & vbcrlf & _ " ProductNameCtl.Font.Bold = False" & vbcrlf & _ "End If" c1r.sections("detail").onprint = script コードの 書 き 方 string script = "level = [Critical Stock Level]\r\n" + "if (UnitsInStock < level) then\r\n" + "ProductNameCtl.ForeColor = rgb(255,0,0)\r\n" + "ProductNameCtl.Font.Bold = true\r\n" + "else\r\n" + "ProductNameCtl.ForeColor = rgb(0,0,0)\r\n" + "ProductNameCtl.Font.Bold = false\r\n" + "end if\r\n"; c1r.sections.detail.onprint = script; 変 更 したのは スクリプトの 最 初 の2 行 です 上 のスクリプトは "UnitsInStock" フィールドの 現 在 値 を データベースに 格 納 さ れている 追 加 注 文 レベルと 比 較 するのではなく ユーザーによって 入 力 されて VBScript 変 数 の [Critical Stock Level] に 格 納 された 値 と 比 較 します フィールドのサイズを 変 更 して 棒 グラフを 作 成 する これは 最 も 高 度 な 例 です フィールドの 値 をテキストとして 表 示 するのではなく フィールドのサイズを 変 更 してグラフを 作 成 し ます グラフの 作 成 グラフを 作 成 するには 最 初 にスケール( 最 大 値 および 最 小 値 として 使 用 するサイズ)を 調 べる 必 要 があります 売 上 チャー ト レポートには この 目 的 で 設 計 されたフィールドがあります これは SaleAmountMaxFld という 名 前 のレポートフッター フィールドで グラフに 表 示 する 棒 グラフの 中 で 最 も 長 い 棒 のサイズを 保 持 し 次 の 式 が 含 まれます =Max([SaleAmount]) コードを 使 用 する 場 合 グラフの 最 大 値 を 設 定 するには SaleAmountMaxFld.Text プロパティを 設 定 します 次 のコードを 入 力 します コードの 書 き 方 SaleAmountMaxFld.Text = "Max([SaleAmount])" コードの 書 き 方 SaleAmountMaxFld.Text = "Max([SaleAmount])"; 82 Copyright GrapeCity inc. All rights reserved.

84 C1Report デザイナを 使 用 する 場 合 グラフの 最 大 値 を 設 定 するには 次 の 手 順 を 実 行 して SaleAmountMaxFld.Text プロパティを 設 定 します 1. デザイナの[プロパティ]ウィンドウのドロップダウンリストから SaleAmountMaxFld を 選 択 します これで フィールド で 使 用 できるプロパティが 表 示 されます 2. Text プロパティの 横 にある 空 のボックスをクリックし ドロップダウン 矢 印 をクリックして リストから[スクリプトエディタ] を 選 択 します 3. VBScript エディタのウィンドウに 次 のスクリプトを 入 力 します =Max([SaleAmount]) グラフの 棒 の 描 画 実 際 の 棒 を 描 画 するために レポートには BarFld という 名 前 の 詳 細 フィールドがあります これは 塗 りつぶした 四 角 形 にな るように 書 式 設 定 されています 詳 細 セクションでは 次 のスクリプトが OnPrint プロパティに 割 り 当 てられています この 式 は 参 照 フィールドの 幅 と 値 および 現 在 のレコードの SaleAmountFld の 値 に 基 づいて 棒 グラフの 幅 を 計 算 します コードを 使 用 する 場 合 グラフの 実 際 の 棒 を 描 画 するには OnPrint プロパティを 設 定 します 次 のコードを 入 力 します コードの 書 き 方 c1r.sections.detail.onprint = & _ "BarFld.Width = SaleAmountMaxFld.Width * " & _ "(SaleAmountFld / SaleAmountMaxFld)" コードの 書 き 方 c1r.sections.detail.onprint = + "BarFld.Width = SaleAmountMaxFld.Width * " + "(SaleAmountFld / SaleAmountMaxFld)"; C1Report デザイナを 使 用 する 場 合 グラフの 実 際 の 棒 を 描 画 するには 次 の 手 順 を 実 行 して OnPrint プロパティを 設 定 します 1. デザイナの[プロパティ]ウィンドウのドロップダウンリストから [ 詳 細 ]を 選 択 します これで 詳 細 セクションで 使 用 でき るプロパティが 表 示 されます 2. OnPrint プロパティの 横 にある 空 のボックスをクリックし ドロップダウン 矢 印 をクリックして リストから[スクリプトエディスクリプトエディ タ]を 選 択 します 3. VBScript エディタのウィンドウに 次 のスクリプトを 入 力 します :BarFld.Width = SaleAmountMaxFld.Width * (SaleAmountFld / SaleAmountMaxFld) 次 のスクリーンショットは 特 殊 効 果 が 適 用 された 売 上 チャート レポートのセクションです 83 Copyright GrapeCity inc. All rights reserved.

85 メモ:レポートの 完 全 なサンプルについては Nwind.xml レポート 定 義 ファイルの 売 上 チャート レポートを 参 照 してく ださい 便 利 な 機 能 の 活 用 このセクションでは パラメータクエリーの 追 加 非 バインドレポートの 作 成 カスタムデータソースの 使 用 およびレポートへの データセキュリティの 追 加 を 行 う 方 法 を 説 明 します パラメータクエリー パラメータクエリーは 独 自 のダイアログボックスを 表 示 して レコードを 取 得 するための 条 件 やレポートフィールドの 値 といっ た 情 報 の 入 力 をユーザーに 求 めることができるクエリーです ユーザーに 複 数 の 情 報 の 入 力 を 求 めるクエリーも 設 計 できま す たとえば 2つの 日 付 を 取 得 するクエリーを 設 計 して その 間 の 日 付 に 該 当 するすべてのレコードを 取 得 することができま す たとえば パラメータクエリーに 基 づいて 月 次 収 益 のレポートを 作 成 するとします レポートを 出 力 すると C1Report はレ ポートに 含 める 月 の 入 力 を 求 めるダイアログボックスを 表 示 します ユーザーが 月 を 入 力 すると C1Report は 該 当 するレポー トを 出 力 します パラメータクエリーを 作 成 するには RecordSource プロパティの SQL 文 を 編 集 して PARAMETERS 句 を 追 加 します パラ メータクエリーの 作 成 に 使 用 する 構 文 は Microsoft Access で 使 用 される 構 文 と 同 じです 1. パラメータクエリーを 作 成 する 最 も 簡 単 な 方 法 は WHERE 句 に1つ 以 上 のアイテムがある 簡 単 な SQL 文 を 元 に WHERE 句 にある 固 定 値 を 手 作 業 でパラメータに 置 き 換 えることです たとえば 次 のような 一 般 的 な SQL 文 を 元 にし ます strsql = "SELECT DISTINCTROW * FROM Employees " & _ "INNER JOIN (Orders INNER JOIN [Order Subtotals] " & _ "ON Orders.OrderID = [Order Subtotals].OrderID) " & _ 84 Copyright GrapeCity inc. All rights reserved.

86 "ON Employees.EmployeeID = Orders.EmployeeID " & _ "WHERE (((Orders.ShippedDate) " & _ "Between #1/1/1994# And #1/1/2001#));" 2. 次 に この SQL 文 のうち パラメータに 変 える 部 分 を 確 認 します この 例 では WHERE 句 にある 日 付 ( 太 字 の 部 分 )を パラメータにします これらのパラメータの 名 前 を Beginning Date( 開 始 日 )および Ending Date( 終 了 日 )にします こ れらの 名 前 にはスペースが 含 まれているため [ ]で 囲 む 必 要 があります strsql = "SELECT DISTINCTROW * FROM Employees " & _ "INNER JOIN (Orders INNER JOIN [Order Subtotals] " & _ "ON Orders.OrderID = [Order Subtotals].OrderID) " & _ "ON Employees.EmployeeID = Orders.EmployeeID " & _ "WHERE (((Orders.ShippedDate) " & _ "Between [Beginning Date] And [Ending Date]));" 3. 最 後 に パラメータ 名 型 およびデフォルト 値 を 含 む PARAMETERS 句 を 使 用 して SQL 文 の 先 頭 でパラメータを 指 定 します strsql = "PARAMETERS [Beginning Date] DateTime 1/1/1994, " & _ "[Ending Date] DateTime 1/1/2001;" & _ "SELECT DISTINCTROW * FROM Employees " & _ "INNER JOIN (Orders INNER JOIN [Order Subtotals] " & _ "ON Orders.OrderID = [Order Subtotals].OrderID) " & _ "ON Employees.EmployeeID = Orders.EmployeeID " & _ "WHERE (((Orders.ShippedDate) " & _ "Between [Beginning Date] And [Ending Date]));" この 文 が 実 行 されると コントロールはユーザーにダイアログボックスを 表 示 して Beginning Date と Ending Date の 値 の 入 力 を 求 めます ユーザーが 入 力 した 値 は SQL 文 に 組 み 込 まれ ユーザーが 選 択 した 期 間 を 対 象 にしてレポートが 生 成 されま す ダイアログボックスは C1Report によって 臨 機 応 変 に 作 成 されます ダイアログボックスにはクエリー 内 のすべてのパラメー タが 含 まれ パラメータの 型 に 適 したコントロールが 使 用 されます たとえば Boolean 型 のパラメータにはチェックボックスが 使 用 され Date 型 のパラメータには 日 時 の 選 択 コントロールが 使 用 されます 上 の SQL 文 を 実 行 して 表 示 されるダイアログ ボックスを 次 に 示 します PARAMETERS 句 は 各 アイテムをカンマで 区 切 ったリストで 構 成 され 最 後 にセミコロン(;)を 付 けます 各 アイテムは1つのパ ラメータを 表 し 次 の 情 報 を 指 定 します パラメータ 名 : 名 前 にスペースが 含 まれる 場 合 は 名 前 を[ ]で 囲 む 必 要 がある(たとえば [Beginning Date]) パラメー タ 名 は ユーザーから 情 報 を 収 集 するためのダイアログボックスに 表 示 される また SQL 文 の WHERE 句 でも 使 用 さ れ ユーザーが 入 力 した 値 と 置 き 換 えられる パラメータの 型 : 次 の 型 がコントロールに 認 識 される 値 の 型 説 明 Date addate 85 Copyright GrapeCity inc. All rights reserved.

87 値 の 型 DateTime Bit, Byte, Short, Long Currency Single Double Text, String 説 明 addate adinteger adcurrency adsingle addouble adbstr Boolean, Bool, YesNo デフォルト 値 : ダイアログボックスに 最 初 に 表 示 される 値 adboolean パラメータクエリーは 次 の 手 順 で 簡 単 に 作 成 できます 最 初 に 正 しく 動 作 する 簡 単 なクエリーを 作 成 します 次 に PARAMETERS 句 を 追 加 します PARAMETERS 句 の 最 後 にセミコロン(;)を 付 けることを 忘 れないでください 最 後 に WHERE 句 を 編 集 して 適 切 な 位 置 にパラメータ 名 を 追 加 します GetRecordSource メソッドを 使 用 すると パラメータクエリーから(PARAMETERS 句 がない) 適 切 な SQL 文 を 取 得 できます これは レポートに 含 まれるデータを 使 って 独 自 のレコードセットを 作 成 する 場 合 に 便 利 です メモ:パラメータクエリーを 使 用 する 代 わりに ダイアログボックスを 作 成 してユーザーから 情 報 を 取 得 し 必 要 に 応 じて SQL 文 を 修 正 したり DataSource オブジェクトのFilter プロパティを 設 定 するコードを.NET または で 記 述 することもできます パラメータクエリーを 使 用 する 利 点 は パラメータのロジックをレポート 自 身 に 置 くことができる こと またパラメータクエリーがビューアアプリケーションから 独 立 していることです コードを 記 述 する 手 間 も 省 くことがで きます アンバウンドレポート アンバウンドレポートとは 基 礎 になるソースレコードセットがないレポートです このようなレポートは 次 の2つの 状 況 で 便 利 です : 書 式 が 固 定 されており 出 力 するたびにいくつかのフィールドのコンテンツだけが 変 化 するドキュメントを 作 成 する 場 合 帳 票 がこの 典 型 的 な 例 で 書 式 が 決 まっており フィールドの 値 だけが 変 化 します 複 数 のサマリーレポートを1つにまとめる 場 合 この 場 合 は メインのアンバウンドレポートを 作 成 し それにバウンドサ ブレポートを 追 加 します. 簡 単 なアンバウンドレポートの 例 として ソースレコードセットがない 簡 単 なニュースレターを 作 成 します これには C1Report デザイナを 使 用 しますが ConnectionString プロパティとRecordSource プロパティは 空 のままにし レポートにいくつかの プレースホルダフィールドを 追 加 します これらのプレースホルダフィールドは 単 純 なラベルで フィールドのコンテンツはアプリ ケーションによって 設 定 されます "FldHeadLineXXX" および "FldBodyXXX"(XXXは1から3までの 値 )という 名 前 の6つのプレースホルダフィールドがあるレ ポートを 作 成 する 場 合 は 次 の コードを 使 ってレポートを 出 力 します コードの 書 き 方 Private Sub MakeReport() ' レポート 定 義 ファイルを 検 索 します Dim path As String = Application.StartupPath Dim i As Integer = path.indexof("\bin") If i > -1 Then path = path.substring(0, i) 86 Copyright GrapeCity inc. All rights reserved.

88 path = path & "\" ' アンバウンドレポートを 読 み 込 みます c1r.load(path & "Newsletter.xml", "NewsLetter") ' フィールド 値 を 設 定 します c1r.fields("fldheadline1").text = "C1Report Launched" c1r.fields("fldbody1").text = "ComponentOne unveils..." c1r.fields("fldheadline2").text = "Competitive Upgrades" c1r.fields("fldbody2").text = "Get ahead..." c1r.fields("fldheadline3").text = "C1Report Designer" c1r.fields("fldbody3").text = "The C1Report Designer..." ' 完 了 したら レポートを 表 示 します c1ppv.document = c1r.document ' 読 者 が 閲 覧 できるよう HTML ファイルにエクスポートします ' can get to it over the Web c1r.rendertofile(path & "Newsletter.htm", FileFormatEnum.HTML) End Sub コードの 書 き 方 private void MakeReport() { // レポート 定 義 ファイルを 検 索 します string path = Application.StartupPath; int i = path.indexof("\bin"); if ( i > -1 ) { path = path.substring(0, i) path = path + "\"; // アンバウンドレポートを 読 み 込 みます c1r.load(path + "Newsletter.xml", "NewsLetter"); // フィールド 値 を 設 定 します c1r.fields["fldheadline1"].text = "C1Report Launched"; c1r.fields["fldbody1"].text = "ComponentOne unveils..."; c1r.fields["fldheadline2"].text = "Competitive Upgrades"; c1r.fields["fldbody2"].text = "get { ahead..."; c1r.fields["fldheadline3"].text = "C1Report Designer"; c1r.fields["fldbody3"].text = "The C1Report Designer..."; // 完 了 したら レポートを 表 示 します c1ppv.document = c1r.document; // ' 読 者 が 閲 覧 できるよう HTML ファイルにエクスポートします // can get to it over the Web } c1r.rendertofile(path + "Newsletter.htm", FileFormatEnum.HTML); 87 Copyright GrapeCity inc. All rights reserved.

89 このニュースレターの 例 を 次 に 示 します 上 の 簡 単 なプログラムは 書 式 設 定 を 何 も 行 っていないことに 注 意 してください これ は レポートのコンテンツを 提 供 しているだけです ロゴ 付 きの 見 出 し ページフッタ フォント テキストの 配 置 などのすべての 書 式 設 定 は C1Report デザイナで 作 成 されたレポート 定 義 が 処 理 します 書 式 設 定 がコンテンツから 分 離 されていることも アンバウンドレポートの 主 な 利 点 の1つです データセキュリティ データのセキュリティは 多 くの 企 業 にとって 重 要 な 問 題 です たとえば 社 内 用 の 電 話 番 号 レポートを 作 成 して 配 布 する 場 合 は 従 業 員 名 と 内 線 番 号 を 表 示 する 必 要 があります しかし 何 者 かがレポート 定 義 を 変 更 したり 社 員 の 給 与 情 報 含 むレ ポートを 作 成 しては 困 ります また 何 者 かがレポート 定 義 ファイルを 見 て 接 続 文 字 列 をコピーし データベースの 閲 覧 を 始 める(つまり ハッキング) 可 能 性 もあります これらは C1Report をはじめとしたすべてのデータベースアプリケーションに 対 する 当 然 の 懸 念 です この 項 では データを 保 護 するためにとることができるいくつかの 手 段 について 説 明 します Windows NT 統 合 セキュリティ Windows NT の 長 所 の1つは セキュリティの 処 理 方 法 にあります ユーザーがログオンすると システムは システム 管 理 者 によって 認 められたアクセス 許 可 を 自 動 的 にそのユーザーに 与 えます その 後 それぞれのアプリケーションやサービスが Windows NT に 問 い 合 わせて そのユーザーがアクセスできるリソースを 確 認 します 広 く 利 用 されているデータベースプロバ イダの 多 くは このようなセキュリティをオプションとして 提 供 しています このようなセキュリティでは データの 共 有 を 許 可 する 人 に そのデータを 読 み 取 るための 適 切 なアクセス 許 可 を 与 えるだけで 済 みます この 場 合 レポート 定 義 ファイル 内 のConnectionString にパスワードを 含 める 必 要 はありません 許 可 された ユーザーはデータを 見 ることができ 許 可 されていないユーザーはアクセスできません パスワードを 含 む 接 続 文 字 列 88 Copyright GrapeCity inc. All rights reserved.

90 これは たいへん 簡 単 な 代 替 手 段 です レポートを 出 力 する 前 (または コントロールが 接 続 の 失 敗 エラーを 報 告 したとき)に ユーザーにパスワードの 入 力 を 求 め そのパスワードを 接 続 文 字 列 に 組 み 込 むことができます 次 に 例 を 示 します コードの 書 き 方 ' パスワード 用 のプレースホルダを 含 む 接 続 文 字 列 を 作 成 します Dim strconn strconn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=C:\SecureData\People.mdb;" & _ "Password={{THEPASSWORD}};" ' ユーザーからパスワードを 取 得 します Dim strpwd$ strpwd = InputBox("Please enter your password:") If Len(strPwd) = 0 Then Exit Sub ' 新 しい 接 続 文 字 列 を 作 成 し コントロールに 割 り 当 てます strconn = Replace(strConn, "{{THEPASSWORD}}", strpwd) vsr.datasource.connectionstring = strconn コードの 書 き 方 // パスワード 用 のプレースホルダを 含 む 接 続 文 字 列 を 作 成 します string strconn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=C:\SecureData\People.mdb;" + "Password={{THEPASSWORD}};"; // ユーザーからパスワードを 取 得 します string strpwd = InputBox("Please enter your password:"); if (strpwd.length == 0) return; // 新 しい 接 続 文 字 列 を 作 成 し コントロールに 割 り 当 てます strconn = Replace(strConn, "{{THEPASSWORD}}", strpwd); c1r.datasource.connectionstring = strconn; アプリケーション 定 義 のエイリアス 他 に 考 えられる 例 として 一 定 のユーザーにレポートの 表 示 は 許 可 するものの データが 格 納 されている 場 所 についての 情 報 や 特 別 な 権 限 は 与 えないようにする 場 合 があります C1Report では 2つの 簡 単 な 方 法 でこのようなセキュリティを 実 現 できます 1つは 組 み 込 みレポートを 使 用 する 方 法 です [レポートの 選 択 ]プロパティページを 使 って レポート 定 義 を 設 計 時 にアプリケーションに 読 み 込 むと レポートはアプリケー ションに 組 み 込 まれます こうすると レポート 定 義 ファイルを 配 布 する 必 要 がなく 誰 もデータソース 情 報 にアクセスできなくな ります 2 番 目 の 方 法 は アプリケーションで 一 連 の 接 続 文 字 列 エイリアスを 定 義 する 方 法 です レポート 定 義 ファイルにはエイリアス が 含 まれ アプリケーションはレポートを 出 力 する 前 にエイリアスを 実 際 の 接 続 文 字 列 に 置 き 換 えます これらのエイリアス は C1Report デザイナなどの 他 のアプリケーションでは 使 用 できません さらにセキュリティを 重 視 する 場 合 は RecordSource プロパティをチェックして データベース 内 のテーブルやフィールドに 不 正 なアクセスを 試 みる 者 がいないこ とを 確 認 します 89 Copyright GrapeCity inc. All rights reserved.

91 次 のコードは 簡 単 なエイリアススキームの 実 装 例 です コードの 書 き 方 Private Sub RenderReport(strReportName As String) ' ユーザーが 要 求 するレポートを 読 み 込 みます c1r.load("c:\reports\myreports.xml", strreportname) ' 接 続 文 字 列 エイリアスを 置 き 換 えま Dim strconn$ Select Case c1r.datasource.connectionstring Case "CUSTOMERS" Case "EMPLOYEES" strconn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=C:\SecureData\People.mdb;" & _ "Password=slekrsldksd;" Case "$$SALES" strconn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=C:\SecureData\Numbers.mdb;" & _ "Password=slkkdmssids;" End Select ' 接 続 文 字 列 を 設 定 し レポートを 出 力 します c1r.datasource.connectionstring = strconn ppv1.document = c1r.document End Sub コードの 書 き 方 private void RenderReport(string strreportname) { // ユーザーが 要 求 するレポートを 読 み 込 みます c1r.load("c:\reports\myreports.xml", strreportname); // 接 続 文 字 列 エイリアスを 置 き 換 えま string strconn$; switch (i) { c1r.datasource.connectionstring; } case "$$CUSTOMERS"; case "EMPLOYEES"; strconn = "Provider=Microsoft.Jet.OLEDB.4.0;" + _ "Data Source=CSALES"; strconn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=C:\SecureData\Numbers.mdb;" + "Password=slkkdmssids;"; // 接 続 文 字 列 を 設 定 し レポートを 出 力 します 90 Copyright GrapeCity inc. All rights reserved.

92 } c1r.datasource.connectionstring = strconn; ppv1.document = c1r.document; カスタムデータセット アプリケーションによって 作 成 された 任 意 のデータセットをRecordset オブジェクトに 割 り 当 てることもできます こうすると 適 切 なレベルのセキュリティ 手 段 を 任 意 に 適 用 できるため ConnectionStringプロパティやRecordSource プロパティについて 考 慮 する 必 要 がなくなります 91 Copyright GrapeCity inc. All rights reserved.

93 C1Report デザイナの 使 い 方 ReportViewer for ASP.NET Web Forms C1ReportDesigner は Microsoft Access のレポートデザイナに 似 たスタンドアロンアプリケーションです 次 のトピックに は C1ReportDesigner に 関 する 重 要 な 情 報 が 含 まれます また 基 本 レポート 定 義 ファイルの 作 成 レポート 定 義 の 変 更 印 刷 およびエクスポート 方 法 についても 説 明 します このセクションでは Microsoft Access で 作 成 したレポートのインポート 方 法 についても 説 明 します C1Report デザイナについて C1Report デザイナアプリケーションは C1Report レポート 定 義 ファイルの 作 成 と 編 集 に 使 用 するツールです デザイナで は C1Report コンポーネントによって 読 み 取 ることができるファイル(XML)を 作 成 し 編 集 し ロードし 保 存 することができま す Microsoft Access ファイル(MDB)と VSReport 1.0(VSR)からレポート 定 義 をインポートすることもできます デザイナを 実 行 するには スタートメニューから C1Report デザイナ をクリックします このディレクトリは デフォルトのイン ストールパスを 反 映 したものであり インストールパスを 変 更 した 場 合 パスが 異 なることがあることに 注 意 してください Visual Studio からデザイナを 実 行 する 手 順 については Visual Studio からの C1Report デザイナへのアクセス を 参 照 してくださ い CommonTasks.xml ファイルを 開 いたときに 表 示 されるデザイナを 以 下 に 示 します メインデザイナウィンドウには 以 下 のコンポーネントがあります アプリケーション ボタン: アプリケーション ボタンをクリックしてメニューを 開 き レポート 定 義 ファイルをロードおよび 保 存 し レポート 定 義 をインポートおよびエクスポートします 詳 細 については アプリケーション ボタン を 参 照 して 92 Copyright GrapeCity inc. All rights reserved.

94 ください デザイン タブ: デザイン タブ:[ 編 集 ] [フォント] [データ] [フィールド] および[ツール]メニュー 機 能 へのショートカットを 提 供 し ます 詳 細 については デザイン タブ を 参 照 してください レイアウト タブ: レイアウト タブ:[ 編 集 ] [ 自 動 フォーマット] [グリッド] [ 配 置 ] [ 位 置 ]および[サイズ]メニュー 機 能 へのショート カットを 提 供 します 詳 細 については レイアウト タブ を 参 照 してください ページ 設 定 タブ:[ 編 集 ]および[ページレイアウト]メニュー 機 能 へのショートカットを 提 供 します 詳 細 については ページ 設 定 タブ を 参 照 してください プレビュー タブ: プレビュー タブ:レポートが 印 刷 プレビューに 表 示 されているときにのみ 表 示 されます 詳 細 については プレ ビュー タブ を 参 照 してください ヘルプ ボタン: ヘルプ ボタン:C1Report デザイナヘルプと[バージョン 情 報 ] 画 面 を 表 示 するオプションを 提 供 します この 画 面 は アプリケーションに 関 する 情 報 を 表 示 します レポート タブ: 現 在 のレポート 定 義 ファイルに 含 まれるすべてのレポートをリスト 表 示 します レポート 名 をダブルク リックして レポートをプレビューまたは 編 集 できます リストを 使 用 して レポートを 名 前 変 更 し コピーし 削 除 すること もできます フィールド タブ: 現 在 のレポートに 含 まれるすべてのフィールドをリスト 表 示 します プロパティ タブ: プロパティ タブ:デザイナで 選 択 したオブジェクトのプロパティを 編 集 できます ページ タブ: ページ タブ:プレビューモードでのみ 使 用 できます このタブには ドキュメント 内 のすべてのページのサムネイルが 含 まれます アウトライン タブ: アウトライン タブ:プレビューモードでのみ 使 用 できます このタブでは ドキュメントのテキストの 輪 郭 が 表 示 されま す 検 索 タブ:プレビューモードでのみ 使 用 できます このタブには ドキュメント 内 のテキストを 検 索 できる 詳 細 ペインが 表 示 されます [プレビュー/デザイン]ペイン:このペインは デザイナの 主 作 業 領 域 です プレビューモードでは 現 在 のレポートを 表 示 します デザインモードでは レポートのセクションとフィールドが 表 示 され レポート 定 義 を 変 更 できます ステータスバー:ステータスバーは デザイナが 現 在 実 行 している 作 業 (ロード 保 存 印 刷 表 示 インポートなど)に 関 する 情 報 を 表 示 します ステータスバーの 右 側 にあるズームスライダをドラッグして 選 択 したレポートをズームでき ます 以 下 のトピックでは C1Report デザイナアプリケーションを 使 用 して レポート 定 義 ファイルを 作 成 編 集 使 用 および 保 存 する 方 法 について 説 明 します [アプリケーション]ボタン [アプリケーション]ボタンでは レポート 定 義 ファイルをロードおよび 保 存 し レポート 定 義 をインポートおよびエクスポートする ためのショートカットメニューが 提 供 されます [アプリケーション]メニューを 介 して C1Report デザイナアプリケーションのオプ ションにアクセスすることもできます [アプリケーション]ボタンをクリックして メニューを 開 きます この 結 果 次 のようになります 93 Copyright GrapeCity inc. All rights reserved.

95 メニューには 以 下 のオプションが 含 まれています [ 新 規 作 成 ]: 新 しいレポート 定 義 ファイルを 作 成 します [ 開 く]:[レポート 定 義 ファイルを 開 く]ダイアログボックスを 開 きます これにより 既 存 のファイルを 選 択 し 開 くことが できます [ 閉 じる]: 現 在 のレポート 定 義 ファイルを 閉 じます [ 上 書 き 保 存 ]: 以 前 に 保 存 した 場 所 に レポート 定 義 ファイルを 保 存 します [ 名 前 を 付 けて 保 存 ]:[レポート 定 義 の 保 存 ]ダイアログボックスを 開 きます これにより レポート 定 義 を XML ファイル として 保 存 できます [インポート]:[レポート 定 義 のインポート]ダイアログボックスを 開 きます これにより Microsoft Access(.mdb および.adp)ファイルと Crystal Reports(.rpt)ファイルをインポートできます 詳 細 については Microsoft Access レポートの インポート と Crystal Reports レポートのインポート を 参 照 してください [エクスポート]: 現 在 のレポートファイルを HTML PDF RTF XLS XLSX TIF TXT または ZIP ファイルとしてエクス ポートします [ 最 近 使 用 したファイル]: 最 近 開 いたレポート 定 義 ファイルをリスト 表 示 します ファイルを 再 び 開 くには それをリスト から 選 択 します [オプション]:[C1Report デザイナオプション]ダイアログボックスを 開 きます これにより C1Report デザイナアプリ ケーションのデフォルトの 外 観 と 動 作 をカスタマイズできます 詳 細 については C1Report デザイナオプションの 設 定 データ グループ を 参 照 してください [ 終 了 ]:C1Report デザイナアプリケーションを 閉 じます [デザイン]タブ デザイン タブは C1Report デザイナの[リボン]メニューにあり [ 編 集 ] [フォント] [データ] [フィールド] および[ツー ル]メニュー 機 能 へのショートカットを 提 供 します 詳 細 は 以 下 の 各 トピックを 参 照 してください [ 編 集 ]グループ デザイン タブの 編 集 グループは 次 のように 表 示 されます 94 Copyright GrapeCity inc. All rights reserved.

96 このグループは 以 下 のオプションで 構 成 されます プレビュー : プレビュー ボタンをクリックすると レポートの 印 刷 プレビュー 表 示 が 開 きます プレビューを 終 了 する には 印 刷 プレビューを 閉 じる ボタンをクリックします 詳 細 については プレビュー タブ と レポートのプレビュー と 印 刷 を 参 照 してください 貼 り 付 け : 直 前 にコピーした 項 目 を 貼 り 付 けます 切 り 取 り : 選 択 した 項 目 を 切 り 取 ります レポートから 選 択 した 項 目 を 削 除 し 他 の 場 所 に 貼 り 付 けることができます コピー コピー : 選 択 した 項 目 をコピーして 他 の 場 所 に 貼 り 付 けます 元 に 戻 す :レポート 定 義 に 加 えた 直 前 の 変 更 を 元 に 戻 します 繰 り 返 し :レポート 定 義 に 加 えた 直 前 の 変 更 をやり 直 します [フォント]グループ ホーム タブの フォント グループは 次 のように 表 示 されます このグループは 以 下 のオプションで 構 成 されます [フォント 名 ]: 選 択 したテキストの 現 在 のフォントを 表 示 します 選 択 した 項 目 に 対 して 別 のフォントを 選 択 できます(こ れを 行 うには フォント 名 の 横 にあるドロップダウン 矢 印 をクリックします) [フォントサイズ]: 選 択 したテキストの 現 在 のフォントサイズを 表 示 すると 共 に 別 のフォントサイズを 選 択 できます フォントサイズボックスに 数 値 を 入 力 するか ドロップダウン 矢 印 をクリックしてフォントサイズを 選 択 できます フォントサイズの 拡 大 :フォントサイズを1ポイントずつ 拡 大 します フォントサイズの 縮 小 :フォントサイズを1ポイントずつ 縮 小 します 太 字 : 選 択 したテキストを 太 字 にします([Ctrl]+[B]キーを 押 すこともできます) 斜 体 : 選 択 したテキストを 斜 体 にします([Ctrl]+[I]キーを 押 すこともできます) 下 線 : 選 択 したテキストに 下 線 を 引 きます([Ctrl]+[U]キーを 押 すこともできます) 左 揃 え :テキストを 左 に 揃 えます. 中 央 揃 え :テキストを 中 央 に 揃 えます 右 揃 え :テキストを 右 に 揃 えます 両 端 揃 え : 選 択 したテキストの 両 端 を 揃 えます テキストの 色 : 選 択 したテキストの 色 を 選 択 できます 塗 りつぶしの 色 : 選 択 したテキストの 背 景 色 を 選 択 できます [データ]グループ データ グループは 次 のように 表 示 されます 95 Copyright GrapeCity inc. All rights reserved.

97 このグループは 以 下 の 項 目 で 構 成 されます 並 び 替 え/グループ 化 :このボタンをクリックして [ソートとグループ 化 ]ダイアログボックスを 開 きます これにより ソートとグループ 化 の 基 準 を 追 加 / 削 除 できます 詳 細 については データのグループ 化 と データをソートする を 参 照 してください データソース :このボタンをクリックして [データソースの データソースの 選 択 ]ダイアログボックスを 開 きます [データソースの 選 択 ]ダイアログボックスでは 新 しいデータソースを 選 択 し 接 続 文 字 列 を 変 更 し SQL ステートメントを 編 集 できます データソース ラジオボタンをクリックして 現 在 のデータソース 内 のテーブルとビューを 表 示 します SQL ステートメ ント ラジオボタンをクリックすると 現 在 の SQL ステートメントを 表 示 できます 変 更 する 接 続 文 字 列 を 選 択 して... ボタンをクリックします これによって [データリンクプロパティ]ダイアログボック スが 開 きます XML スキーマ 定 義 ファイル(XDS)を 開 くには 開 く ボタンをクリックします( 詳 細 については XSD ファイルからのデータのロード を 参 照 してください) SQL ステートメントを 編 集 または 変 更 するには SQL ステートメ ントのビルド ボタンをクリックし [SQL ビルダ]ダイアログボックスを 開 きます レポート 情 報 :[レポートの 情 報 ]ダイアログボックスを 開 きます このダイアログボックスでは レポートの[タイトル] [ 作 成 者 ] [ 件 名 ] [クリエータ] および[キーワード]を 設 定 できます レポート 情 報 をすべてのレポートに 適 用 するこ とを 選 択 することもできます 96 Copyright GrapeCity inc. All rights reserved.

98 [フィールド]グループ C1Report デザイナアプリケーションの デザイン タブの フィールド グループは レポートフィールドを 作 成 するツールを 提 供 します このツールバーは デザインモードでのみ 有 効 になります デザイン タブの フィールド グループは 次 のように 表 示 されます 各 フィールドボタンは フィールドを 作 成 し そのプロパティを 初 期 化 します フィールド グループは 以 下 のオプションで 構 成 されます 矢 印 :マウスカーソルを 矢 印 カーソルに 戻 します データフィールド :ソースレコードセットにバインドされたフィールドを 作 成 します このボタンをクリックすると メニュー が 表 示 され ソースレコードセットフィールドを 選 択 できます バインドされたフィールドは データベースからの 未 処 理 データの 表 示 に 限 定 されません Text プロパティを 編 集 し VBScript 式 を 使 用 できます ラベル : 固 定 テキストを 表 示 するフィールドを 作 成 します チェックボックスの 追 加 ( ):ブール 値 をチェックボックスとして 表 示 するバインドされたフィールドを 作 成 します デ フォルトで チェックボックスは 通 常 のチェックマークを 表 示 します フィールドを 作 成 後 フィールドの Checkbox プロパ ティの 値 を 変 更 して ラジオボタンまたは 印 に 変 更 できます バーコードの 追 加 ( ):バーコードを 表 示 するフィールドを 作 成 します このボタンをクリックすると メニューが 表 示 され バーコードとして 表 示 される 同 じレポート 定 義 ファイルに 含 まれる 他 のフィールドを 選 択 できます RTF フィールドの 追 加 ( ):RTF フィールドを 作 成 します このボタンをクリックすると メニューが 表 示 され RTF 形 式 で 表 示 される 同 じレポート 定 義 ファイルに 含 まれる 他 のフィールドを 選 択 できます 集 計 フィールドの 追 加 ( ): 集 計 フィールドを 作 成 します このボタンをクリックすると コードエディタダイアログボッ クスが 表 示 され 表 示 する 値 を 含 む VBScript 式 を 入 力 できます 一 般 的 集 計 フィールドの 追 加 ( ): 一 般 的 に 使 用 される 式 を 含 むフィールドを 作 成 します このボタンをクリックする と メニューが 表 示 され レポートを 作 成 または 出 力 した 日 時 ページ 番 号 ページ 数 n/m 形 式 のページ または レポート 名 を 表 示 する 式 を 選 択 できます バインドされていない 画 像 の 追 加 ( ):ロゴなどの 固 定 画 像 を 表 示 するフィールドを 作 成 します このボタンをクリッ クすると ダイアログボックスが 表 示 され 画 像 ファイルをレポートに 挿 入 するように 求 められます 選 択 した 画 像 のコ ピーが 作 成 され 同 じディレクトリにレポートファイルとして 配 置 されます アプリケーションにレポートファイルを 埋 め 込 んでいない 場 合 このファイルをアプリケーションによって 配 布 する 必 要 があります アプリケーションにレポートファイ 97 Copyright GrapeCity inc. All rights reserved.

99 ルを 埋 め 込 んでいない 場 合 バインドされていない 画 像 ファイルも 埋 め 込 まれます バインドされた 画 像 の 追 加 ( ):レコードセットに 格 納 された 画 像 (またはオブジェクト)を 表 示 するフィールドを 作 成 します このボタンをクリックすると メニューが 表 示 され ソースレコードセットで 画 像 フィールドを 選 択 できます(フィー ルドが1つの 場 合 すべてのレコードセットにこの 型 のフィールドが 含 まれているわけではありません) 線 の 追 加 ( ): 線 を 作 成 します 通 常 線 はセパレータとして 使 用 されます 矩 形 の 追 加 ( ): 矩 形 を 作 成 します 通 常 矩 形 はフィールドのグループのハイライト 表 示 またはテーブルとグリッ ドの 作 成 に 使 用 されます サブレポートの 追 加 ( ): 他 のレポートを 表 示 するフィールドを 作 成 します このボタンをクリックすると メニューが 表 示 され 同 じレポート 定 義 ファイルに 含 まれる 他 のフィールドを 選 択 できます 詳 細 については サブレポートを 使 用 したマスター/ 詳 細 レポートの 作 成 を 参 照 してください 改 ページの 追 加 ( ): 改 ページを 挿 入 するフィールドを 作 成 します グラフの 追 加 ( ):グラフを 表 示 するフィールドを 作 成 します ほとんどのバインドされていないフィールドと 異 なり グラフフィールドには 複 数 の 値 が 表 示 されます 表 示 するデータを 選 択 するには グラフフィールドの Chart.DataX と Chart.DataY プロパティを 設 定 します X 軸 と Y 軸 に 沿 った 値 を 書 式 設 定 するには Chart.FormatX と Chart.FormatY プロパティを 設 定 します グラデーションの 追 加 ( ):グラデーションフィールドを 作 成 します 通 常 グラデーションは 他 のフィールドを 目 立 つようにする 背 景 機 能 として 使 用 されます 詳 細 については グラデーションフィールドの 追 加 を 参 照 してください スーパーラベルの 追 加 ( ):スーパーラベルを 作 成 します 通 常 グラデーションは 他 のフィールドを 目 立 つように する 背 景 機 能 として 使 用 されます 詳 細 については グラデーションフィールドの 追 加 を 参 照 してください 拡 張 バーコードの 追 加 ( ): 拡 張 バーコードを 作 成 します マップフィールドの 追 加 ( ):マップフィールドを 作 成 します 詳 細 については フィールドによるレポートの 強 化 を 参 照 してください レポートへのフィールドの 追 加 についての 詳 細 は レポートフィールドの 作 成 を 参 照 してください [ツール]グループ デザイン タブの ツール グループは 次 のように 表 示 されます このグループは 以 下 のオプションで 構 成 されます プロパティグリッド :この 項 目 を 選 択 すると 左 ペインに プロパティ タブが 表 示 されます [F4]キーを 使 用 して プロ パティ タブを 表 示 することもできます フィールドリスト :この 項 目 を 選 択 すると 左 ペインに フィールド タブが 表 示 されます ズーム :レポートのズームレベルを 設 定 する 値 を 選 択 できます [レイアウト]タブ レイアウト タブは C1Report デザイナの[リボン]メニューにあり [ 編 集 ] [ 自 動 フォーマット] [グリッド] [ 配 置 ] [ 位 置 ] および[サイズ]メニュー 機 能 へのショートカットを 提 供 します そのグループについての 詳 細 は 編 集 グループ その 他 の グループの 詳 細 は 以 下 のトピックを 参 照 してください [ 自 動 フォーマット]グループ リボンの レイアウト タブにある 自 動 フォーマット グループは 次 のように 表 示 されます 98 Copyright GrapeCity inc. All rights reserved.

100 スタイル :[レポートスタイルエディタ]ダイアログボックスを 開 きます このダイアログでは 組 み 込 みスタイルを 選 択 したり 独 自 のスタイルを 編 集 できます スタイルの 統 一 : 現 在 選 択 されている 複 数 の 項 目 のスタイルを 統 一 します テーブル 行 : 現 在 選 択 されている 項 目 をテーブル 行 に 合 わせて 書 式 設 定 します レポートスタイルエディタ スタイル グループの スタイル ボタンをクリックして [レポートスタイルエディタ]ダイアログボックスにアクセスできます [レ ポートスタイルエディタ]ダイアログボックスは 次 のように 表 示 されます このダイアログボックスには 以 下 の 要 素 が 含 まれています [スタイルギャラリー スタイルギャラリー]リスト:[ スタイルギャラリー ]リストには 現 在 利 用 可 能 なすべての 組 み 込 みおよびカスタムスタ イルが 表 示 されます 追 加 ボタン: 追 加 ボタンを 使 用 して カスタムスタイルを[スタイルギャラリー]リストに 追 加 します 追 加 されるスタ イルは 追 加 ボタンをクリックしたときに[スタイルギャラリー]リストで 選 択 したスタイルに 基 づいています 削 除 ボタン: 削 除 ボタンを 使 用 して 選 択 したカスタムスタイルを 削 除 します このボタンは [スタイルギャラリー] リストでカスタム スタイルを 選 択 したときにのみ 使 用 可 能 になります プロパティグリッド:プロパティグリッドでは プロパティを 変 更 し カスタムスタイルを 編 集 できます プロパティグリッド は [スタイルギャラリー]リストでカスタム スタイルを 選 択 したときにのみ 使 用 および 編 集 可 能 になります プレビューウィンドウ:プレビューウィンドウには [スタイルギャラリー]リストで 選 択 したスタイルのプレビューが 表 示 さ れます 適 用 ボタン: 適 用 ボタンをクリックして ダイアログボックスを 閉 じることなく 選 択 した 内 容 をスタイルに 適 用 しま 99 Copyright GrapeCity inc. All rights reserved.

101 す ボタン: OK ボタンをクリックして ダイアログボックスを 閉 じ 変 更 内 容 を 適 用 し 選 択 したスタイルを 現 在 選 択 さ れているスタイルとして 設 定 します キャンセル ボタン: キャンセル ボタンをクリックして スタイルに 加 えた 変 更 内 容 をキャンセルできます [グリッド]グループグループ リボンの レイアウト タブにある グリッド グループは 次 のように 表 示 されます グリッドの 設 定 :[C1Report デザイナのオプション]ダイアログボックスを 開 きます 詳 細 については C1Report デ ザイナオプションの 設 定 を 参 照 してください グリッドに 合 わせる : 要 素 をグリッドに 配 置 します この 項 目 を 選 択 した 場 合 グリッドの 線 の 間 には 要 素 を 配 置 でき ません グリッドの 表 示 :プレビュー 内 のレポートの 背 景 にグリッドを 表 示 します グリッドは 要 素 の 配 置 と 位 置 揃 えに 便 利 で す デフォルトで このオプションは ON です フィールドのロック :フィールドを 希 望 する 位 置 に 配 置 した 後 に 不 注 意 によってマウスまたはキーボードで 位 置 が 移 動 されないように これらをロックします グリッドの 設 定 グリッド グループの グリッドの グリッドの 設 定 ボタンをクリックして [C1Report デザイナのオプション]ダイアログボックスにアクセス できます 詳 細 については C1Report デザイナオプションの 設 定 を 参 照 してください [ 配 置 ]グループ リボンの レイアウト タブにある 配 置 グループは 次 のように 表 示 されます 左 揃 え : 選 択 した 項 目 を 水 平 方 向 の 左 側 に 揃 えます 右 揃 え : 選 択 した 項 目 を 水 平 方 向 の 右 側 に 揃 えます 中 央 揃 え : 選 択 した 項 目 を 水 平 方 向 の 中 央 に 揃 えます 上 揃 え : 選 択 した 項 目 を 垂 直 方 向 の 上 部 に 揃 えます 下 揃 え : 選 択 した 項 目 を 垂 直 方 向 の 下 部 に 揃 えます 上 下 中 央 揃 え : 選 択 した 項 目 を 垂 直 方 向 の 中 央 に 揃 えます レポートの 項 目 は 水 平 および 垂 直 方 向 に 配 置 できます たとえば ある 項 目 を 左 側 と 上 部 に 揃 えます [ 位 置 ]グループ 100 Copyright GrapeCity inc. All rights reserved.

102 リボンの レイアウト タブにある 位 置 グループは 次 のように 表 示 されます [ 位 置 ]グループには 次 のオプションがあります 最 前 面 へ 移 動 : 選 択 した 項 目 を 層 化 されたすべての 項 目 の 前 面 に 移 動 します 最 背 面 へ 移 動 : 選 択 した 項 目 を 層 化 されたすべてのオブジェクトの 背 面 に 移 動 します 左 右 を 均 等 : 要 素 の 左 右 の 間 隔 が 等 しくなるように 配 置 します 左 右 を 広 く : 要 素 の 左 右 の 間 隔 を 拡 大 します 左 右 を 狭 く : 要 素 の 左 右 の 間 隔 を 縮 小 します 上 下 を 均 等 : 要 素 の 上 下 の 間 隔 が 等 しくなるように 配 置 します 上 下 を 広 く : 要 素 の 上 下 の 間 隔 を 拡 大 します 上 下 を 狭 く : 要 素 の 上 下 の 間 隔 を 縮 小 します [サイズ]グループ リボンの レイアウト タブにある 位 置 グループは 次 のように 表 示 されます [サイズ]グループには 次 のオプションがあります [グリッドに 合 わせて 整 列 ]: 選 択 した 項 目 をグリッドに 揃 えます [ 最 大 の 高 さに 揃 える]: 選 択 した 項 目 のすべての 高 さを 最 も 高 い 項 目 に 設 定 します [ 最 小 の 高 さに 揃 える]: 選 択 した 項 目 のすべての 高 さを 最 も 低 い 項 目 に 設 定 します [グリッドのサイズに 揃 える]: 選 択 した 項 目 をグリッドのサイズに 設 定 します [ 最 大 の 幅 に 揃 える]: 選 択 した 項 目 のすべての 幅 を 最 も 広 い 項 目 に 設 定 します [ 最 小 の 幅 に 揃 える]: 選 択 した 項 目 のすべての 幅 を 最 も 狭 い 項 目 に 設 定 します [ページ 設 定 ]タブ ページ 設 定 タブは C1Report デザイナの[リボン]メニューにあり [ 編 集 ]および[ページレイアウト]メニュー 機 能 へのショー トカットを 提 供 します そのグループについての 詳 細 は 編 集 グループ その 他 のグループの 詳 細 は 以 下 のトピックを 参 照 し てください [ページレイアウト]グループ リボンの ページ 設 定 タブにある ページレイアウト グループは 次 のように 表 示 されます 101 Copyright GrapeCity inc. All rights reserved.

103 ページレイアウト グループは 以 下 のオプションで 構 成 されます 縦 :レポートのレイアウトを 縦 長 表 示 ( 高 さが 幅 より 長 い)に 変 更 します 横 :レポートのレイアウトを 横 長 表 示 ( 高 さが 幅 より 短 い)に 変 更 します ページ 設 定 :プリンタの[ページ 設 定 ]ダイアログボックスを 開 きます [プレビュー プレビュー]タブ ページレイアウト グループ プレビュー プレビュー タブは C1Report デザイナの[リボン]メニューにあり [ 印 刷 ] [ページ 設 定 ] [ズーム] [ 移 動 ] [ツール] [エクスポート] および[プレビューを 閉 じる]メニュー 機 能 へのショートカットを 提 供 します プ レビュー タブとレポートの 印 刷 プレビューにアクセスするには リボンの 編 集 グループにある[プレビュー プレビュー]オプションをクリッ クします 詳 細 については 編 集 グループ を 参 照 してください ページレイアウト グループの 詳 細 はついては ページレイアウト グループ と プレビュー タブの 他 のグループの 詳 細 は 以 下 のトピックを 参 照 してください [ 印 刷 ]グループ リボンの プレビュー プレビュー タブにある 印 刷 グループは 次 のように 表 示 されます 印 刷 グループは 以 下 の[ 印 刷 ]オプションで 構 成 されます [ 印 刷 ]オプションをクリックして レポート 印 刷 のプリンタオプ ションを 開 きます [ズーム]グループ リボンの プレビュー プレビュー タブにある ズーム グループは 印 刷 プレビューをズームする 方 法 を 制 御 し 次 のように 表 示 されます ズーム グループは 以 下 のオプションで 構 成 されます 単 一 ページ : 一 度 に1ページをプレビューできます 見 開 きページ : 一 度 に2ページをプレビューできます 複 数 ページ :ドロップダウン 矢 印 をクリックして 一 度 に3ぺージ 以 上 をプレビューできます [4ページ] [8ページ] [12 ページ]という3つのオプションがあります ズーム : 特 定 の 倍 率 またはウィンドウに 収 まるようにページをズームします [ 移 動 ]グループ リボンの プレビュー プレビュー タブにある 移 動 グループは 印 刷 プレビューを 移 動 する 方 法 を 制 御 し 次 のように 表 示 されます 102 Copyright GrapeCity inc. All rights reserved.

104 移 動 グループは 以 下 のオプションで 構 成 されます 最 初 のページ :プレビューの 最 初 のページに 移 動 します 前 のページ :プレビューの 前 のページに 移 動 します [ページ]:このテキストボックスに 数 値 を 入 力 し そのページにプレビューを 移 動 します 次 のページ :プレビューの 次 のページに 移 動 します 最 後 のページ :プレビューの 最 後 のページに 移 動 します 前 の 履 歴 : 直 前 に 表 示 したページに 戻 ります 次 の 履 歴 : 次 に 表 示 したページに 移 動 します これは 前 の 履 歴 ボタンをクリックした 後 でのみ 表 示 されます [ツール]グループ リボンの プレビュー プレビュー タブにある ツール グループは プレビュー 内 の 項 目 を 選 択 および 検 出 するツールを 備 え 次 のように 表 示 されます ツール グループは 以 下 のボタンで 構 成 されます 手 のひらツール : 手 のひらツールでは ドラッグ&ドロップ 操 作 を 使 ってプレビューを 移 動 できます テキスト 選 択 :テキスト 選 択 では ドラッグ&ドロップ 操 作 を 使 ってテキストを 選 択 できます その 後 このテキストをコ ピーし 別 のアプリケーションに 貼 り 付 けることができます 検 索 : 検 索 オプションをクリックすると ドキュメント 内 のテキストを 検 索 できる[ 検 索 ]ペインが 開 きます テキストを 検 索 するには 検 索 対 象 テキストを 入 力 し 検 索 オプション(ある 場 合 )を 選 択 して [ 検 索 ]をクリックします 103 Copyright GrapeCity inc. All rights reserved.

105 検 索 結 果 をクリックし それをドキュメント 内 で 見 つけることができます [エクスポート]グループ リボンの プレビュー プレビュー タブにある エクスポート グループは レポートをさまざまな 形 式 にエクスポートするオプションを 備 え 次 のように 表 示 されます エクスポート グループ 内 の 各 項 目 を 使 用 して エクスポートするファイルの 場 所 を 選 択 できる[レポートをファイルにエクス ポート]ダイアログボックスを 開 きます エクスポート グループは 以 下 のオプションで 構 成 されます PDF :ドキュメントを PDF ファイルにエクスポートします ドロップダウン 矢 印 には システムフォントを 使 用 するか 選 択 したフォントを PDF ファイルに 埋 め 込 むかを 選 択 する[PDF(システムフォント) (システムフォント)]と[PDF(( 埋 め 込 みフォント)]オプショ ンが 含 まれています HTML :ドキュメントを HTML ファイルにエクスポートします その 後 このテキストをコピーし 別 のアプリケーション に 貼 り 付 けることができます ドロップダウン 矢 印 には プレーン HTML ファイル 組 み 込 まれた 矢 印 リンクを 使 用 して ページ 付 けできる 複 数 の HTML ファイル またはドリルダウンできるコンテンツを 表 示 する HTML ファイルにエクス ポートするかを 選 択 できる[プレーン HTML] [ページ 付 けされる HTML] および[ドリルダウン HTML]オプションが 含 まれています Excel :ドキュメントを Microsoft Excel ファイルにエクスポートします ドロップダウン 矢 印 には ドキュメントを XLS ファイルとして 保 存 するか XLSX ファイルとして 保 存 するかを 選 択 できる[Microsoft Excel 97]と[Microsoft Excel 2007? OpenXML]オプションが 含 まれています RTF :ドキュメントをリッチテキストファイル(RTF)にエクスポートします テキスト :ドキュメントをテキストファイル(TXT)にエクスポートします その 他 :[その 他 ]ドロップダウン 矢 印 をクリックして レポートをエクスポートする 際 に 以 下 の 追 加 オプションを 使 用 で きます [TIFF 画 像 ](TIFF としてエクスポート) [RTF( ( 位 置 固 定 )] [ 単 一 ページ テキスト] [ 圧 縮 されたメタファイル] (ZIP としてエクスポート) 注 意 :[ 改 ページを 保 持 ]オプションをオンにしてドキュメントを RTF または DOCX 形 式 にエクスポートすると テキストは テキストボックスに 配 置 され 結 果 のドキュメントのテキストを 再 フローする 機 能 を 制 限 できます [プレビューを 閉 じる]グループ リボンの プレビュー プレビュー タブにある プレビューを プレビューを 閉 じる グループは 次 のように 表 示 されます このグループには プレビュー 表 示 を 閉 じて デザインビューに 戻 ることができる 印 刷 プレビューを 閉 じる ボタンが1つだけ 含 まれています プレビュー 表 示 にもう 一 度 戻 るには 編 集 グループの プレビュー レビュー ボタンをクリックします Visual Studio からの C1Report デザイナへのアクセス Visual Studio から C1Report デザイナアプリケーションにアクセスするには 以 下 の 方 法 のいずれかを 使 用 します 104 Copyright GrapeCity inc. All rights reserved.

106 [C1Report タスク]メニュー C1Reportコンポーネントの 右 上 端 にあるスマートタグ()をクリックし [C1Report タスク]メニューを 開 き [レポートの 編 集 ]を 選 択 します コンテキストメニュー C1Report コンポーネントを 右 クリックし コンテキストメニューから[レポートの 編 集 ]を 選 択 します プロパティウィンドウ プロパティウィンドウの 下 部 にある[レポートの 編 集 ]リンクをクリックします 105 Copyright GrapeCity inc. All rights reserved.

107 C1Report デザイナオプションの 設 定 ReportViewer for ASP.NET Web Forms [C1Report デザイナのオプション]ダイアログボックスにアクセスするには アプリケーション ボタンをクリックし [オプショ ン]をクリックします アプリケーション ボタンについての 詳 細 は アプリケーション ボタン を 参 照 してください [C1Report デザイナのオプション]ダイアログボックスは 次 のように 表 示 されます [C1Report デザイナオプション]ダイアログボックスには アプリケーションの 外 観 と 動 作 を 制 御 するオプションが 含 まれてい ます 以 下 のオプションがあります プロパティ タブ [プロパティグリッドのカテゴリ 別 表 示 ]:プロパティタイプによってプロパティグリッドを 分 類 します プロパティグリッドに アクセスするには デザインビューの 左 ペインの 下 部 にある プロパティ タブをクリックします [ 元 に 戻 す/やり 直 しを 有 効 にする]:アプリケーションの[ 元 に 戻 す]と[やり 直 し]を 有 効 にします [フィールドプロパティのフィルタリング]: 設 定 したプロパティによって プロパティグリッドをフィルタリングします プロパ ティグリッドにアクセスするには デザインビューの 左 ペインの 下 部 にある プロパティ タブをクリックします [レポートリストのソート]: レポート タブにリストされたレポートのリストをソートします レポートにアクセスするには デザインビューの 左 ペインの 下 部 にある レポート タブをクリックします デザイン 領 域 タブ [グリッドの 表 示 ]:レポートプレビューウィンドウにグリッドを 表 示 します [グリッドに 合 わせる]:すべてのオブジェクトをレポートのグリッドに 配 置 します このオプションを 選 択 した 場 合 グリッ ド 線 の 間 にオブジェクトを 配 置 できません [サブレポートの 内 容 を 表 示 する]:レポート 内 のサブレポートの 内 容 を 表 示 します [グリッド 単 位 ]:グリッドのスペースを 設 定 する 方 法 を 示 します オプションには [ 自 動 ] [ヤード ポンド 法 (インチ)] [メートル 法 (センチメートル)] および[カスタム]があります [グリッド 間 隔 ]:グリッド 線 の 間 隔 を 設 定 します このオプションは [グリッド 単 位 ]を[カスタム]に 設 定 した 場 合 にのみ 利 用 できます [ 主 グリッド 線 の 色 ]: 主 グリッド 線 の 色 を 設 定 します [ 副 グリッド 線 の 色 ]: 副 グリッド 線 の 色 を 設 定 します [フィールド 境 界 線 の 色 ]:レポート 内 のフィールドの 端 の 色 を 設 定 します 106 Copyright GrapeCity inc. All rights reserved.

108 保 存 / 読 み 込 み タブ [ 前 のファイルを 起 動 時 に 読 み 込 む]:このオプションを ON にすると C1Report デザイナアプリケーションを 起 動 したと きに 直 前 に 開 いたファイルが 常 に 表 示 されます [ 起 動 時 に 更 新 を 確 認 ]:このオプションを ON にすると C1Report デザイナアプリケーションを 起 動 したときに 更 新 が 確 認 されます [ 出 力 前 に 変 更 内 容 を 保 存 する]:このオプションを ON にすると 表 示 する 前 に 変 更 が 保 存 されます [エクスポート 時 にオプションを 表 示 ]:このオプションを ON にすると エクスポート 時 にオプションが 表 示 されます [ 保 存 時 に Xml にイメージを 埋 め 込 む]:このオプションを ON にすると レポートの 保 存 時 に 画 像 が XML に 埋 め 込 ま れます [ 既 定 のエクスポート 形 式 ]:デフォルトのエクスポート 形 式 を 設 定 します エクスポートについての 詳 細 は エクス ポート グループ を 参 照 してください 接 続 タブ [ 分 離 レベル]:OleDB トランザクションの 分 離 レベルを 指 定 します デフォルト 値 は ReadCommitted です スクリプトエディタ タブ [フォント]:[VBScript エディタ]ダイアログボックスで 使 用 するテキストの 外 観 を 定 義 します [ 構 文 の 色 付 け]:[VBScript エディタ]ダイアログボックスで 構 文 を 自 動 的 に 色 付 けするかどうかを 指 定 します [ 自 動 構 文 チェック]:[VBScript エディタ]ダイアログボックスで 構 文 を 自 動 的 にチェックするかどうかを 指 定 します 基 本 的 なレポート 定 義 ファイルの 作 成 レポートを 設 計 することで 印 刷 されるページ 上 にさまざまな 方 法 でデータを 表 示 できます C1Report デザイナを 使 用 して 総 合 リス ト サマリーレポート またはデータの 特 別 なサブセット( 請 求 書 など)を 設 計 できます 新 しいレポートの 作 成 を 開 始 するには 新 規 レポートウィザード を 使 用 するのが 最 も 簡 単 です メインツールバーの レポートの 新 規 作 成 ボタンをクリックするか [ファイル レポートの 新 規 作 成 ]メニューオプションを 選 択 します Visual Studio にて C1ReportタスクメニューまたはC1Reportコンテクストメニューで[レポートの 編 集 ]をクリックすることで [C1Report ウィザード]をアクセスできます [レポートの 編 集 ]リンクの 詳 細 については C1Report タスクメニュー または C1Report コンテキストメニュー を 参 照 してください 新 規 レポートウィザードが 表 示 されるので 案 内 に 従 って5つの 簡 単 な 手 順 を 実 行 します 1. 新 規 レポートのデータソースを 選 択 する このページでは レポートデータの 取 得 に 使 用 される ConnectionString と RecordSourceを 選 択 します ConnectionString は 次 の3つの 方 法 で 指 定 できます : 文 字 列 をエディタに 直 接 入 力 します ドロップダウンリストを 使 用 して 最 近 使 った 接 続 文 字 列 を 選 択 します デザイナは 最 近 使 用 された 接 続 文 字 列 を8つ まで 記 録 します 省 略 符 (...)の 付 いたボタンをクリックして 標 準 の 接 続 文 字 列 ビルダを 起 動 します RecordSource の 文 字 列 は 次 の2つの 方 法 で 指 定 できます [テーブル]ボタンをクリックし リストからテーブルを 選 択 します 107 Copyright GrapeCity inc. All rights reserved.

109 [SQL]ボタンをクリックし エディタに SQL 文 を 入 力 (または 貼 り 付 け)します 2. レポートに 含 めるフィールドを 選 択 する このページには 手 順 1で 選 択 したレコードセットで 利 用 できるフィールドのリスト およびレポートのグループフィールドと 詳 細 フィールドを 定 義 する2つのリストがあります グループフィールドは データのソート 方 法 と 集 計 方 法 を 定 義 します また 詳 細 フィールドは レポートに 表 示 する 情 報 を 定 義 します フィールドは ドラッグによってリスト 間 を 移 動 できます [ 詳 細 ]リストにフィールドをドラッグすると そのフィールドをレポートに 含 めることができます また リスト 内 でフィールドをドラッグすると フィールドの 順 番 を 変 更 できます フィールドをドラッグして [ 利 用 可 能 なフィールド]リストに 戻 すと レポートからそのフィールドが 削 除 されます 108 Copyright GrapeCity inc. All rights reserved.

110 3. 新 規 レポートのレイアウトを 選 択 する このページには ページ 上 でのデータの 構 成 方 法 を 定 義 するためのさまざまなオプションが 用 意 されています レイアウトを 選 択 すると 左 側 にサムネールが 表 示 され ページ 上 でのレイアウトの 外 見 を 確 認 できます レイアウトは2 種 類 に 分 かれており 一 方 はグループなしのレポート もう 一 方 はグループ 付 きのレポートです 作 成 するレポートの 外 見 に 最 も 近 いレイアウトを 選 択 します また このページでは 用 紙 の 方 向 とフィールドをページ 幅 に 合 わせて 調 整 するかどうかを 選 択 できます [ラベル]レイアウトオプションは Avery スタイルのラベルを 印 刷 するために 使 用 されます このオプションを 選 択 すると 印 刷 するラベルの 種 類 を 指 定 するためのページが 表 示 されます 109 Copyright GrapeCity inc. All rights reserved.

111 4. 新 規 レポートのスタイルを 選 択 する(ラベル 以 外 のレイアウトを 選 択 した 場 合 ) Style Layouts このページでは 新 しいレポートで 使 用 するフォントと 色 を 選 択 できます 手 順 3のページと 同 様 に 選 択 したスタイルの 外 見 を 確 認 できるプレビューが 表 示 されるので 好 みのスタイルを 選 択 します スタイルは 後 で 詳 細 に 設 定 したり 設 定 を 変 更 することもできます W 110 Copyright GrapeCity inc. All rights reserved.

112 印 刷 するラベルの 種 類 を 選 択 する(ラベルレイアウトを 選 択 した 場 合 ) このページでは 作 成 するラベルの 種 類 を 選 択 できます デザイナでは 170 種 類 の 定 義 済 みラベルを 選 択 できます ラベルは 長 さの 単 位 (センチメートルまたはインチ)および 使 用 する 用 紙 の 種 類 ( 単 票 または 連 続 用 紙 )に 基 づいて 4つのグループに 分 かれています 5. 新 規 レポートのタイトルを 選 択 する 111 Copyright GrapeCity inc. All rights reserved.

113 この 最 後 の 手 順 のページでは 新 しいページのタイトルを 選 択 します また 新 しいレポートをすぐにプレビューするか プレ ビューする 前 に 編 集 モードに 移 動 してデザインに 手 を 加 えるかを 指 定 します レポートのプレビューを 選 択 し [ 完 了 ]をクリックすると すぐにデザイナのプレビューペインにレポートが 表 示 されます 次 に 表 示 例 を 示 します 112 Copyright GrapeCity inc. All rights reserved.

114 レポートレイアウトの 変 更 デザイン 機 能 を 使 用 するには プレビュー プレビュー タブにて プレビューを プレビューを 閉 じる グループの 印 刷 プレビューを 閉 じる ボタンをクリッ クします メインウィンドウの 右 側 のペインがプレビューモードからデザインモードに 切 り 替 わり レポートを 構 成 するコントロールとフィー ルドが 表 示 されます 上 の 図 は レポートがどのようなセクション(ヘッダ ページヘッダなど)に 分 割 されているかを 示 しています 各 セクションには 印 刷 されるレポートで 必 要 なラベル 変 数 式 などを 含 むフィールドがあります この 例 では ヘッダセクションにレポートのタイ トルを 含 むラベルがあります また ページヘッダセクションには 詳 細 セクションに 表 示 されるフィールドを 識 別 するラベルが あり ページフッタセクションには 現 在 の 時 刻 ページ 番 号 およびレポートの 総 ページ 数 を 表 示 するフィールドがあります レポートのセクションは 各 ページ グループ およびレポートの 最 初 と 最 後 の 外 観 を 決 定 します 次 の 表 に 各 セクションがレ ポート 内 のどこに 表 示 されるか および 通 常 はどのような 目 的 で 使 用 されるかについて 説 明 します セクション 表 示 位 置 通 常 の 内 容 レポートヘッダ レポートごとに 一 度 レポート 全 体 のタイトルやサマリー 情 報 ページヘッダ ページごとに 一 度 詳 細 フィールドについて 説 明 するラベルやページ 番 号 グループヘッダ グループごとに 一 度 現 在 のグループを 識 別 するフィールドやグループの 集 計 値 ( 合 計 総 計 に 対 する 割 合 など)など 詳 細 レコードごとに 一 度 ソースレコードセットからのデータを 含 むフィールド 113 Copyright GrapeCity inc. All rights reserved.

115 セクション 表 示 位 置 通 常 の 内 容 グループフッタ グループごとに 一 度 グループの 集 計 値 ページフッタ ページごとに 一 度 ページ 番 号 ページ 数 印 刷 日 レポート 名 など レポートフッタ レポートごとに 一 度 レポート 全 体 のサマリー 情 報 セクションは 直 接 追 加 または 削 除 できないことに 注 意 してください レポート 内 のセクションの 数 は グループの 数 によって 決 まります すべてのレポートには 5つの 固 定 セクション(レポートヘッダ/フッタ ページヘッダ/フッタ 詳 細 )と グループごと に2つのセクション(グループヘッダとグループフッタ)があります セクションの Visibleプロパティを False に 設 定 することに よって 任 意 のセクションを 非 表 示 にできます セクションをカスタマイズするには プロパティウィンドウでセクションのプロパティを 設 定 するか マウスで 移 動 やリサイズする ことができます セクションのサイズ 変 更 レポートの 見 栄 えをよくするために 任 意 のセクションに 直 線 四 角 形 画 像 などを 追 加 できます また プロパティウィンドウで プロパティを 変 更 することによって 既 存 のフィールドやセクションに 変 更 を 加 えることもできます さらに マウスを 使 ってセク ションを 移 動 したり サイズを 変 更 したりすることもできます セクションのサイズを 変 更 するには セクションの 境 界 線 を 目 的 の 位 置 までドラッグします 設 計 ウィンドウの 左 側 と 上 部 にある ルーラーに 各 セクションのサイズが(ページマージンを 除 いて) 表 示 されます セクションは その 内 部 にあるフィールドの 表 示 に 必 要 な 高 さと 幅 より 小 さくすることはできません セクションのサイズをそれより 小 さくするには 内 部 にあるフィールドを 移 動 またはサイズ 変 更 した 後 で セクションをサイズ 変 更 します この 操 作 を 確 認 するために ページヘッダセクションの 下 部 と 詳 細 セクションの 上 部 にある 灰 色 のバーとの 間 の 領 域 にマウス を 移 動 してみます ポインタが 変 化 して ポインタがサイズ 変 更 領 域 にあることがわかります マウスをクリックし セクションの 高 さが 元 の 高 さの2 倍 程 度 になるまで 線 をドラッグします ボタンを 離 すと セクションのサイズが 変 更 されます フィールドによるレポートの 強 化 レポートを 強 化 するには 任 意 のセクションにフィールド( 線 矩 形 ラベル 画 像 グラフなど)を 追 加 します プロパティウィン ドウでプロパティを 変 更 して 既 存 のフィールドを 変 更 したり マウスを 使 ってフィールドのサイズを 変 更 したりすることもできま す レポートフィールド C1Report デザイナアプリケーションの デザイン タブの フィールド グループは レポートフィールドを 作 成 するツールを 提 供 します このツールバーは デザインモードでのみ 有 効 になります 各 ボタンは フィールドを 作 成 し そのプロパティを 初 期 化 します フィールド グループについての 詳 細 は フィールド グループ を 参 照 してください レポートへのフィールドの 追 加 についての 詳 細 は レポートフィールドの 作 成 を 参 照 してください グラフフィールドの 追 加 114 Copyright GrapeCity inc. All rights reserved.

116 グラフフィールドは C1Chart コントロールを 使 用 して 実 装 します メモ:グラフを 使 用 する 場 合 は アプリケーションと 共 に C1Chart アセンブリを 配 置 する 必 要 があります レポートにグラフフィールドを 追 加 するには 以 下 の 手 順 を 実 行 します 1. C1Report デザイナアプリケーションでレポートを 開 きます 2. ツールバーの グラフフィールドの 追 加 ボタン をクリックして グラフを 表 示 するレポート 内 の 領 域 をマークします 3. その 後 通 常 どおり フィールドプロパティを 設 定 します グラフフィールドの 通 常 と 異 なる 唯 一 の 側 面 は 大 部 分 のバインドされたフィールドと 異 なり 複 数 の 値 を 表 示 することです 表 示 する データを 選 択 するには グラフフィールドの Chart.DataX と Chart.DataY プロパティを 設 定 します X 軸 と Y 軸 に 沿 った 値 を 書 式 設 定 するには Chart.FormatX と Chart.FormatY プロパティを 設 定 します Chart.ChartType Chart.Palette などの 他 のプロパティ を 設 定 して グラフの 外 観 をカスタマイズすることもできます 埋 め 込 みグラフを 含 む 新 しいレポートを 作 成 するには C1Report ウィザードを 使 用 します 以 下 の 手 順 を 実 行 します 1. 新 しいレポートのデータソースを 選 択 します 1. 接 続 文 字 列 のビルドの 省 略 記 号 ボタン( )をクリックします [データ リンク プロパティ]ダイアログボックスが 表 示 さ れます 2. プロバイダ タブを 選 択 し リストから Microsoft Jet 4.0 OLE DB Provider を 選 択 します 3. 次 へ をクリックします 4. 接 続 ページで ボタンをクリックして Nwind.mdb データベースを 参 照 します これは 標 準 Visual Studio Northwind データベースです デフォルトで データベースは C:\Program Files\ComponentOne Studio.NET 2.0\Common ディレクトリにインストールされます 5. テーブル ラジオボタンを 選 択 し 区 分 別 売 上 高 ビューを 選 択 します この 手 順 は 次 の 画 像 に 示 されています 2. 表 示 するフィールドを 選 択 します 115 Copyright GrapeCity inc. All rights reserved.

117 この 例 では 区 分 別 にデータをグループ 化 し レポートの[ 詳 細 ]セクションに ProductName と ProductSales を 表 示 しま す グループと 詳 細 フィールドを 追 加 するには マウスポインタを 使 って これらを 左 側 の 使 用 可 能 なリストから 右 側 の グ ループ または 詳 細 リストにドラッグします ウィザードが 完 了 するまで 次 へ をクリックして 操 作 を 続 行 します ウィザードにより レポートの 初 期 バージョンが 作 成 され ます レポートの[グループヘッダー]セクションにグラフを 追 加 します グラフは グループの 詳 細 を 要 約 して 示 すために レポートの[グループヘッダー]セクションに 表 示 します [グループヘッ ダー]セクションにグラフを 追 加 するには 以 下 の 手 順 を 実 行 します 1. プレビューを 閉 じる グループの 印 刷 プレビューを 閉 じる ボタンをクリックし デザインモードに 切 り 替 えて レポート の 編 集 を 開 始 します 2. セクションの 境 界 でドラッグ&ドロップ 操 作 を 実 行 して [グループヘッダー]セクションを 拡 大 します 3. 次 に デザイン タブの フィールド グループにある グラフフィールドの グラフフィールドの 追 加 ボタン をクリックして [グループヘッ ダー]セクションのレポートにフィールドを 配 置 します 4. グラフフィールドをクリックし ドラッグして グラフのサイズを 変 更 します. 5. Chart.DataY プロパティは 複 数 のグラフ 系 列 を 指 定 できることに 注 意 してください フィールドまたは 集 計 式 を 必 要 な 数 だけ 追 加 し セミコロンで 区 切 ります 6. また 各 データポイントのラベル(この 場 合 ProductName)を 含 むフィールドの 名 前 に Chart.DataX プロパティを 設 定 します 7. プロパティウィンドウから Chart.FormatY プロパティを #,### に 設 定 し 軸 に 沿 った 値 を 1000 単 位 で 区 切 られた 値 に 設 定 します ここで グラフコントロールにいくつかのサンプルデータが 表 示 され 現 在 の 設 定 によるプロパティの 効 果 を 確 認 できます(デザ イン 時 に 実 際 のデータは 使 用 できません) Chart.ChartType Chart.DataColor Chart.GridLines など いくつかのプロ パティの 値 を 変 更 し 試 してみることができます Font ForeColor など 通 常 のフィールドプロパティを 使 用 することもできま す レポートは 次 のように 表 示 されます 116 Copyright GrapeCity inc. All rights reserved.

118 プレビュー プレビュー ボタンをクリックしてレポートを 確 認 し 次 のページ ボタンをクリックしてレポートをスクロールし 各 グループの グラフフィールドを 表 示 します サンプルレポートは 次 のような 表 示 になります 117 Copyright GrapeCity inc. All rights reserved.

119 レポートフィールドは そのレポート 内 の 位 置 によって 表 示 が 異 なることに 注 意 してください レポートフィールドは[グループ ヘッダー]セクション 内 にあるため そのグループ 内 のデータのみが 表 示 されます グラフフィールドを[ 詳 細 ]セクションに 配 置 すると レポート 全 体 のすべてのデータが 表 示 されます 各 [ 詳 細 ]セクションには1つのグラフが 存 在 し それらは 同 じように 見 えるので この 処 理 は 有 用 ではありません グラフ 内 に 表 示 するデータを 詳 細 に 制 御 する 必 要 がある 場 合 は グラフフィー ルドそのものに DataSource プロパティを 使 用 できます これで レポートを 保 存 し それを Windows Forms と ASP.NET アプリケーションで 使 用 できるようになりました グラデーションフィールドの 追 加 グラデーションフフィールドは グラフより 簡 単 です グラデーションは 主 に 他 のフィールドを 目 立 つようにする 背 景 機 能 として 使 用 されます 以 下 の 画 面 は [グループヘッダー]セクションのラベル 上 にグラデーションフフィールドを 使 用 するレポートを 示 しています 118 Copyright GrapeCity inc. All rights reserved.

120 同 じようなグラデーションフフィールドを 作 成 するには 以 下 の 手 順 を 実 行 します 1. デザイナのデザインモードで デザイン タブの フィールド グループから グラデーションフィールドの グラデーションフィールドの 追 加 ボタン を 選 択 します 2. [グループヘッダー]セクションのラベル 上 にマウスカーソルを 移 動 し( 十 字 に 変 わります) フィールドを 希 望 するサイズ にドラッグします 3. フィールドがラベルの 背 後 にあることを 確 認 するには グラデーションフィールドを 右 クリックして [ 最 背 面 へ 移 動 ]を 選 択 します 4. 次 に Gradient.ColorFrom プロパティと Gradient.ColorTo プロパティを それぞれ SteelBlue と White に 設 定 し ます Gradient.Angle プロパティを 別 の 値 (デフォルト 値 はゼロ)に 設 定 して グラデーションフィールドの 角 度 を 変 更 できることに 注 意 してください フィールドの 選 択 移 動 およびコピー マウスを 使 って 通 常 どおり C1Report デザイナアプリケーション 内 のフィールドを 選 択 できます フィールドをクリックして それを 選 択 します [Shift]キーを 押 しながらフィールドをクリックして 選 択 状 態 を 切 り 替 えます [Ctrl]キーを 押 しながらドラッグして 選 択 したフィールドのコピーを 作 成 します 空 領 域 をクリックし マウスポインタをドラッグして 複 数 のフィールドを 選 択 します マウスポインタを 使 用 し フィールドの 角 をドラッグして フィールドのサイズを 変 更 します フィールドの 右 または 下 端 をダブルクリックして フィールドのサイズを 自 動 調 整 します レポートの 垂 直 または 水 平 領 域 を 交 差 するフィールドを 選 択 するには デザイナの 端 に 沿 ったルーラー 上 でマウスをクリックし て ドラッグします フィールドが 小 さいか またはお 互 いに 接 近 している 場 合 名 前 で 選 択 した 方 が 容 易 な 場 合 があります プ ロパティウィンドウ 上 のドロップダウンリストからフィールドとセクションを 選 択 し それらを 選 択 できます グリッドの 表 示 119 Copyright GrapeCity inc. All rights reserved.

121 レイアウト タブの グリッド グループにある グリッドに グリッドに 合 わせる と グリッドの 表 示 ボタンは 離 散 した 位 置 にある 位 置 の 制 御 に 役 立 つグリッドを 提 供 します グリッドが ON の 場 合 フィールドを 作 成 または 移 動 するときに フィールドの 左 上 端 がグ リッドに 配 置 されます アプリケーション ボタンをクリックし メニューから[オプション]を 選 択 して グリッドの 単 位 (ヤード ポ ンド 法 またはメートル 法 )を 変 更 できます フィールドのロック フィールドを 希 望 する 位 置 に 配 置 した 後 に 不 注 意 によってマウスまたはキーボードで 位 置 が 移 動 されないように これらを ロックできます フィールドのロック ボタンを 使 用 して フィールドをロックおよびロック 解 除 できます 書 式 フィールド 複 数 のフィールドを 選 択 した 場 合 レイアウト レイアウト タブの 配 置 位 置 および サイズ グループ 上 のボタンを 使 用 できます これらのボタンのいずれかをクリックした 場 合 選 択 した 最 後 のフィールドが 参 照 として 使 用 され 設 定 が 選 択 した 残 りのフィー ルドに 適 用 されます スタイルの 適 用 スタイルの 統 一 ボタンは 参 照 フィールドのスタイルを 選 択 した 項 目 全 体 に 適 用 します フィールドのスタイルには すべて のフォント 色 線 配 置 および 余 白 プロパティが 含 まれています プロパティウィンドウを 使 用 して 個 別 のプロパティの 値 を 選 択 した 項 目 全 体 に 設 定 できます 重 複 するフィールドの 順 序 の 指 定 いくつかのフィールドが 重 複 する 場 合 位 置 グループの 最 前 面 へ 移 動 / 最 背 面 へ 移 動 ボタンを 使 用 して それらの z- order を 制 御 できます これにより 他 のフィールドの 前 (または 背 後 )に 表 示 するフィールドを 指 定 します キーボードの 使 用 によるフィールドの 移 動 C1Report デザイナアプリケーションでは キーボードを 使 用 してフィールドを 選 択 および 移 動 することもできます [Tab]キーを 使 用 して 次 のフィールドを 選 択 します 120 Copyright GrapeCity inc. All rights reserved.

122 [Shift]+[Tab]キーを 使 用 して 前 のフィールドを 選 択 します 矢 印 キーを 使 用 して 選 択 した 項 目 を 一 度 に1ピクセルずつ(または[Shift]キー + 矢 印 を5ピクセルずつ) 移 動 しま す [Delete]キーを 使 用 して 選 択 したフィールドを 削 除 します 1つのフィールドを 選 択 した 場 合 そのフィールドに 入 力 して Text プロパティを 設 定 できます プロパティの 変 更 オブジェクトを 選 択 すると プロパティウィンドウを 使 用 してそのプロパティを 編 集 できます 複 数 のフィールドが 選 択 されている 場 合 プロパティウィンドウには すべてのフィールドに 共 通 のプロパティの 値 が 表 示 され その 他 のプロパティは 空 欄 になります フィールドを 選 択 せずにセクション(または セクションの 上 部 のバー)をクリックする と セクションのプロパティが 表 示 されます 背 景 の 灰 色 の 領 域 をクリックすると レポートのプロパティが 表 示 されます この 操 作 を 確 認 するために ヘッダセクションのラベルをダブルクリックして Font プロパティと ForeColor プロパティを 変 更 してみます Left Top Width Height の 各 プロパティに 新 しい 値 を 入 力 することによって フィールドの 位 置 やサイズを 変 更 することもできます プロパティウィンドウに 表 示 される 測 定 値 はすべて Twips 単 位 (C1Report が 使 用 するネイティブの 単 位 )ですが 他 の 単 位 で 値 を 入 力 することもできます 入 力 した 値 は 自 動 的 に Twips 単 位 に 変 換 されます たとえば フィールドのHeight プロパティ を 0.5in に 設 定 した 場 合 プロパティウィンドウではそれが 720Twips に 変 換 されます データソースの 変 更 データソースは ConnectionString RecordSource Filter の 各 プロパティを 使 用 して 定 義 します これらは 通 常 のレポー トプロパティであり 次 のいずれかの 方 法 を 使 用 して 設 定 できます プロパティウィンドウで DataSource プロパティの 横 にある 省 略 符 ボタンを 選 択 します 背 景 の 灰 色 の 領 域 をクリック すると レポートのプロパティが 表 示 されます データソース]ボタンをクリックすると [データソースの データソースの 選 択 ]ダイアログボックスが 表 示 されます ここで ConnectionString プロパティと RecordSource プロパティを 直 接 設 定 できます サブレポートを 使 用 したマスター/ 詳 細 レポートの 作 成 サブレポートは 他 のレポート(メインレポート) 内 のフィールドに 含 まれる 通 常 のレポートです 通 常 サブレポートは マスター/ 詳 細 レポートシナリオでのメインレポートの 現 在 の 値 に 基 づく 詳 細 情 報 を 表 示 するように 設 計 されています 以 下 の 例 では メインレポートに 商 品 区 分 が 含 まれ [ 詳 細 ]セクション 内 のサブレポートに 現 在 の 商 品 区 分 の 商 品 明 細 が 含 まれてい ます 121 Copyright GrapeCity inc. All rights reserved.

123 CategoryおよびProducts テーブルに 基 づいてマスター/ 詳 細 レポートを 作 成 するには Categories レポート(マスタービュー)と Products レポート( 詳 細 ビュー)を 作 成 する 必 要 があります 手 順 1:マスターレポートの 作 成 1. C1Report ウィザードを 使 用 して 基 本 的 なレポート 定 義 ファイルを 作 成 します 1. Northwind データベースからCategoryテーブルを 選 択 します(Nwind.mdb は ComponentOne Samples\Common フォルダーにあります) 2. CategoryName と Description フィールドをレポートに 取 り 込 みます 2. C1Report デザイナアプリケーションで 印 刷 プレビューを 閉 じる ボタンをクリックしてレポートの 編 集 を 開 始 します 3. [ページヘッダー]セクションと[ヘッダー]セクションの Visible プロパティを False に 設 定 します 4. [ 詳 細 ]セクションで [DescriptionCtl]を 選 択 し それを 直 接 [CategoryNameCtl]の 下 に 移 動 します 5. プロパティウィンドウを 使 用 して 外 観 の 設 定 (Font および ForeColor)を 変 更 します この 例 では [グラデーション]フィールド が[ 詳 細 ]セクションに 追 加 されています [グラデーション]フィールドについての 詳 細 は グラデーションフィールドの 追 加 を 参 照 してください 6. プレビュー プレビュー ボタンを 選 択 すると Categories レポートは 次 の 画 面 のように 表 示 されます 122 Copyright GrapeCity inc. All rights reserved.

124 手 順 2: 詳 細 レポートの 作 成 1. C1Report デザイナアプリケーションで 新 しいレポート ボタンをクリックし C1Report ウィザードを 使 用 して 基 本 的 なレポー ト 定 義 ファイルの 作 成 を 作 成 します 1. Northwind データベースから Productsテーブルを 選 択 します 2. レポートに 以 下 のフィールドを 取 り 込 みます ProductName QuantityPerUnit UnitPrice UnitsInStock および UnitsOnOrder 2. レポートデザイナで 印 刷 プレビューを 閉 じる ボタンをクリックしてレポートの 編 集 を 開 始 します 1. [ページヘッダー]セクションと[ヘッダー]セクションの Visible プロパティを False に 設 定 します 2. [ 詳 細 ]セクションで 見 出 しラベルの 揃 うようにコントロールを 配 置 します プロパティウィンドウを 使 用 して 外 観 の 設 定 を 変 更 します 手 順 3:サブレポートフィールドの 作 成 Tここでは C1Report デザイナアプリケーションには Categories レポートとProducts レポートの2つの 別 個 のレポートが 存 在 しま す 次 の 手 順 では ブレポートを 作 成 します 1. デザイナの[レポート]リストから Categories レポート(マスターレポート)を 選 択 します 2. デザインモードで デザイン タブの フィールド グループにある サブレポートの 追 加 ボタンをクリックし ドロップダウンメ ニューからProducts レポートを 選 択 します 123 Copyright GrapeCity inc. All rights reserved.

125 3. レポートの[ 詳 細 ]セクションで マウスポインタをクリックおよびドラッグして サブレポートのフィールドを 作 成 します 手 順 4:マスターレポートへのサブレポートのリンク マスター/ 詳 細 レポートの 関 係 は サブレポートフィールドの Text プロパティによって 制 御 されます このプロパティには サブレポー トのデータソースに 適 用 できるフィルタ 条 件 を 評 価 する 式 が 含 まれています レポートデザイナでは この 数 式 を 自 動 的 にビルドできます 以 下 の 手 順 を 実 行 します 1. サブレポートフィールドを 右 クリックし メニューから[サブレポートのリンク]を 選 択 します 124 Copyright GrapeCity inc. All rights reserved.

126 2. リンクするフィールドを 選 択 できるダイアログボックスが 表 示 されます 3. 選 択 を 行 い OK をクリックすると レポートデザイナは リンク 式 をビルドし それをサブレポートフィールドの Text プロパ ティに 割 り 当 てます この 場 合 式 は 次 のとおりになります "[CategoryID] = '" & [CategoryID] & "'" または 以 下 の 手 順 を 実 行 して サブレポートをマスター レポートにリンクさせることもできます 1. プロパティウィンドウで サブレポートフィールドの Text プロパティをクリックし ドロップダウンリストから[スクリプトエディタ]を 選 択 します 2. VBScript エディタで 次 の 式 を 入 力 します "[CategoryID] = '" & [CategoryID] & "'" 3. OK をクリックし VBScript エディタを 閉 じて 式 をビルドします レポートのプレビューと 印 刷 レポートをプレビューするには デザイナウィンドウの 左 ペイン 上 の[レポート]リストから 表 示 するレポートを 選 択 し 各 リボン タブで 表 示 される プレビュー プレビュー ボタンをクリックします 125 Copyright GrapeCity inc. All rights reserved.

127 または メニューから[ 表 示 ]-[プレビュー プレビュー]を 選 択 できます 以 下 のスクリーンショットに 示 すように レポートが 右 ペインに 表 示 されます メインウィンドウには ドキュメントのページを 移 動 できるボタンを 含 むプレビューナビゲーションツールバーが 表 示 されます この 時 点 で 印 刷 ボタンをクリックして レポートを 印 刷 できます 126 Copyright GrapeCity inc. All rights reserved.

128 レポートのエクスポートと 配 布 レポートを 印 刷 するのではなく ファイルにエクスポートして クライアントや 同 僚 に 電 子 メールで 配 布 する 場 合 もあります デザ イナは 次 のエクスポート 形 式 をサポートしています フォーマット ページ 化 HMTL (*.htm) ドリルダウン HTML (*.htm) プレーン HMTL(*.htm) PDF(システムフォント) (*.pdf) PDF( 埋 め 込 みフォント)(*.pdf) RTF (*.rtf) RTF with fixed positioning (*.rtf) Microsoft Excel 97 (*.xls) Microsoft Excel 2007/2010 Open XML (*.xlsx) TIFF (*.tif) テキスト(*.txt) 単 一 ページテキスト(*.txt) 圧 縮 メタファイル(*.txt) 説 明 レポートの1ページごとに HTML ファイルを1つ 作 成 します HTML ページには レポー ト 内 を 移 動 するためのリンクが 含 ます クリックしてセクションを 折 りたたみ/ 展 開 することが 可 能 な 単 一 の HTML ファイルを 作 成 します 単 一 のプレーンな HTML ファイルを 作 成 します フォントを 埋 め 込 まない PDF ファイルを 作 成 します フォントを 埋 め 込 んだ PDF ファイルを 作 成 します 多 くのワープロソフトで 表 示 可 能 な RTF ファイルを 作 成 します 多 くのワープロソフト(たとえば >Microsoft Word, WordPadなど)で 対 応 されている 定 位 置 のRTF ファイルを 作 成 します Microsoft Excel で 対 応 されているXLSファイルを 作 成 します Microsoft Excel で 対 応 されているXLSファイルを 作 成 します マルチページ TIFF ファイルを 作 成 します プレーンなテキストファイルを 作 成 します 単 一 のプレーンテキストファイルを 作 成 します 圧 縮 したメタファイルテキストファイルを 作 成 します エクスポートファイルを 作 成 するには [ファイル エクスポート]メニューを 選 択 し ファイルの 保 存 ダイアログボックスを 使 用 し て 作 成 するファイルの 種 類 名 前 および 場 所 を 選 択 します 注 意 :[ 改 ページを 保 持 ]オプションをオンにしてドキュメントを RTF または DOCX 形 式 にエクスポートすると テキストは テキストボックスに 配 置 され 結 果 のドキュメントのテキストを 再 フローする 機 能 を 制 限 できます レポート 定 義 ファイルの 管 理 レポート 定 義 ファイルには 複 数 のレポートを 入 れることができますが レポートをファイルからファイルに 移 動 することもできま す 127 Copyright GrapeCity inc. All rights reserved.

129 レポートをあるファイルから 別 のファイルに 移 動 するには デザイナを2つ 開 き レポートを 一 方 のデザイナからもう 一 方 のデザ イナにドラッグします [Ctrl]キーを 押 したままドラッグすると レポートをコピーできます [Ctrl]キーを 押 さずにドラッグすると レポートを 移 動 できます 同 じファイルにレポートをコピーすることもできます これにより 同 じレポートのコピーが 作 成 されます 既 存 のレポートに 似 た レポートを 新 しく 設 計 する 場 合 は このコピーから 開 始 すると 便 利 です レポート 定 義 ファイルは XML 形 式 で 保 存 されるため テキストエディタを 使 って 編 集 および 管 理 することもできます Microsoft Access レポートのインポート C1Report デザイナの 最 も 強 力 な 機 能 の1つは Microsoft Access を 使 って 作 成 されたレポートをインポートできることです *.mdb ファイル のほかにも Access 2007 の *.accdb ファイルにも 対 応 しています この 機 能 を 使 用 するには Microsoft Access がコンピュータにインストー ルされている 必 要 があります ただし レポートをデザイナにインポートしてしまえば Microsoft Access は 必 要 なくなります Access ファイルからレポートをインポートするには [インポート]ボタンをクリックするか [ファイル インポート]メニューを 選 択 します ダイア ログボックスが 表 示 され インポートするファイルの 名 前 の 入 力 を 求 められます デザイナは 自 動 的 にファイルをスキャンし インポートするファイルを 選 択 できるダイアログを 表 示 します ダイアログでは インポート 処 理 を 行 う 前 に 既 存 のすべてのレポート 定 義 をクリアするかどうか 指 定 できます インポート 処 理 が 正 しく 動 作 すると ソースレポートのほとんどの 要 素 が 処 理 されます ただし 次 に 挙 げるいくつかの 例 外 があります 128 Copyright GrapeCity inc. All rights reserved.

130 イベントハンドラコード Access は VBA マクロ およびフォームを 使 ってレポートを 動 的 に 書 式 設 定 できます C1Reportでも 同 様 の 処 理 が 可 能 ですが C1Report では VBScript だけが 使 用 されるため レポートのコードはすべて 手 作 業 で 変 換 する 必 要 があります フォーム 指 向 のフィールドタイプ Access レポートには デザイナのインポートプロシージャによって 処 理 されないフィールドが 含 まれていることがあります サポートしな いフィールドタイプは Chart CommandButton ToggleButton OptionButton OptionGroup ComboBox ListBox TabCtl およ び CustomControl です VBScript の 予 約 語 を 使 用 するレポート Access は VBScript を 使 用 しないため レポートオブジェクトやデータセットフィールド 名 の 識 別 子 として VBScript の 予 約 語 を 使 用 する レポートが 設 計 されている 可 能 性 があります その 場 合 は VBScript エンジンが 式 を 評 価 するときに 問 題 が 発 生 し レポートが 正 しく 出 力 されない 原 因 になります 識 別 子 として 使 用 できない 予 約 語 には Date Day Hour Length Minute Month Second Time TimeValue Value Weekday Year などがあります 完 全 なリストについては VBScript のリファレンスを 参 照 してください 日 付 を 四 半 期 順 (または 曜 日 月 など)でソートするレポート C1Report は ADO.NET データセットのSort プロパティを 使 ってグループをソートします このプロパティは フィールドの 値 に 基 づいて データセットをソートし 式 は 使 用 しません( 任 意 の 式 に 基 づいてグループ 化 はできますが ソートはできません) グループを 四 半 期 順 にソートする Access レポートをインポートすると ソートは 日 付 順 に 行 われるようになります これを 解 決 する 方 法 は2つあります 1つ は ソートの 基 準 にする 式 の 値 を 含 むフィールドを 作 成 する 方 法 もう1つは データセットを 作 成 する SQL 文 を 変 更 し 四 半 期 順 に ソートを 実 行 する 方 法 です 上 のような 制 限 を 受 けるレポートは 比 較 的 少 ないですが レポートをインポートしたら すべてのレポートをプレビューし 正 しく 動 作 するかどう かを 確 認 してください Importing the Nwind.mdb File デザイナが 実 際 に 行 う 処 理 の 一 例 として 製 品 に 付 属 の NWind.mdb ファイルをインポートしてみます このファイルには 次 に 示 す13のレ ポートが 含 まれています そこで これらのレポートに 対 する 処 理 について 説 明 します C1Report に 付 属 する NWind.XML ファイルには 以 下 で 説 明 する 変 更 がすべて 行 われています 1. Alphabetical List of Products( ( 製 品 のアルファベット 順 リスト) 処 理 は 不 要 です 2. Catalog(カタログ) 処 理 は 不 要 です 3. Customer Labels( ( 顧 客 ラベル) 処 理 は 不 要 です 4. Employee Sales by Country( ( 地 域 別 従 業 員 売 上 高 ) このレポートには 手 作 業 で 変 換 する 必 要 があるコードが 含 まれます 次 のコードを Group 1 のヘッダセクションのOnPrint プロパティ に 割 り 当 てます コードの 書 き 方 If SalespersonTotal > 5000 Then ExceededGoalLabel.Visible = True SalespersonLine.Visible = True Else ExceededGoalLabel.Visible = False SalespersonLine.Visible = False End If コードの 書 き 方 129 Copyright GrapeCity inc. All rights reserved.

131 if (SalespersonTotal > 5000) { ExceededGoalLabel.Visible = true; SalespersonLine.Visible = true; } else { ExceededGoalLabel.Visible = false; SalespersonLine.Visible = false; } 5. Invoice( ( 請 求 書 ) 処 理 は 不 要 です 6. Products by Category(カテゴリ 別 製 品 ) 処 理 は 不 要 です 7. Sales by Category(カテゴリ 別 売 上 高 ) このレポートには インポートされないグラフコントロールが 含 まれます グラフをレポートに 追 加 するには アンバウンドピクチャフィー ルドを 使 用 します イベントハンドラを 記 述 してグラフを 作 成 し それを 画 像 としてアンバウンドピクチャフィールドに 割 り 当 てます 8. Sales by Category Subreport(カテゴリ 別 売 上 高 サブレポート) 処 理 は 不 要 です 9. Sales by Year( ( 年 度 別 売 上 高 ) このレポートには 手 作 業 で 変 換 する 必 要 があるコードおよび Form オブジェクトへの 参 照 が 含 まれます Form オブジェクトを 置 き 換 えるには RecordSource プロパティを 編 集 して [Show Details] パラメータを 追 加 します コードの 書 き 方 PARAMETERS (Beginning Date) DateTime 1/1/1994, (Ending Date) DateTime 1/1/2001, (Show Details) Boolean False;... コードの 書 き 方 PARAMETERS [Beginning Date] DateTime 1/1/1994, [Ending Date] DateTime 1/1/2001, [Show Details] Boolean False;... レポートのOnOpen プロパティで 新 しいパラメータを 使 用 します コードの 書 き 方 Dim script As String = _ "bdetails = [Show Details]" & vbcrlf & _ "Detail.Visible = bdetails" & vbcrlf & _ "[Group 0 Footer].Visible = bdetails" & vbcrlf & _ "DetailsLabel.Visible = bdetails" & vbcrlf & _ "LineNumberLabel2.Visible = bdetails" & vbcrlf & _ "Line15.Visible = bdetails" & vbcrlf & _ "SalesLabel2.Visible = bdetails" & vbcrlf & _ "OrdersShippedLabel2.Visible = bdetails" & vbcrlf & _ "ShippedDateLabel2.Visible = bdetails" & vbcrlf & _ "Line10.Visible = bdetails" c1r.sections.detail.onprint = script コードの 書 き 方 130 Copyright GrapeCity inc. All rights reserved.

132 string script = "bdetails = [Show Details]" + "Detail.Visible = bdetails\r\n" + "[Group 0 Footer].Visible = bdetails\r\n" + "DetailsLabel.Visible = bdetails\r\n" + "LineNumberLabel2.Visible = bdetails\r\n" + "Line15.Visible = bdetails\r\n" + "SalesLabel2.Visible = bdetails\r\n" + "OrdersShippedLabel2.Visible = bdetails\r\n" + "ShippedDateLabel2.Visible = bdetails\r\n" + "Line10.Visible = bdetails"; c1r.sections.detail.onprint = script; 最 後 に 2 行 のコードを 書 き 換 える 必 要 があります コードの 書 き 方 Sections ("Detail").OnPrint = _ "PageHeader.Visible = True" Sections("Group 0 Footer).OnPrint = _ "PageHeader.Visible = False" コードの 書 き 方 Sections ("Detail").OnPrint = "PageHeader.Visible = true"; Sections("Group 0 Footer).OnPrint = "PageHeader.Visible = false"; 10. Sales by Year Subreport( ( 年 度 別 売 上 高 サブレポート) 処 理 は 不 要 です 11. Sales Totals by Amount( ( 金 額 別 総 売 上 高 ) このレポートには 手 作 業 で 変 換 する 必 要 があるコードが 含 まれます 次 のコードをページヘッダセクションのOnPrint プロパティに 割 り 当 てます コードの 書 き 方 PageTotal = 0 コードの 書 き 方 PageTotal = 0; 次 のコードを 詳 細 セクションのOnPrint プロパティに 割 り 当 てる 必 要 があります コードの 書 き 方 PageTotal = PageTotal + SaleAmount HiddenPageBreak.Visible = (Counter = 10) コードの 書 き 方 131 Copyright GrapeCity inc. All rights reserved.

133 PageTotal = PageTotal + SaleAmount; HiddenPageBreak.Visible = (Counter = 10); 12. Summary of Sales by Quarter( ( 四 半 期 別 売 上 高 のサマリー) このレポートには 四 半 期 順 にソートされるグループがあります( 前 述 の4 番 目 の 例 外 を 参 照 ) これを 解 決 するには RecordSource プロパティを 次 のように 変 更 することによって ShippedDate 四 半 期 の 値 を 含 むフィールドをソースデータセットに 追 加 します SELECT DISTINCTROW Orders.ShippedDate, Orders.OrderID, [Order Subtotals].Subtotal, DatePart("q",Orders.ShippedDate) As ShippedQuarter FROM Orders INNER JOIN [Order Subtotals] ON Orders.OrderID = [Order Subtotals].OrderID; WHERE (((Orders.ShippedDate) Is Not Null)); 新 しいフィールド ShippedQuarter を 使 用 するように グループのGroupBy プロパティを 変 更 します 13. Summary of Sales by Year( ( 年 度 別 売 上 高 のサマリー) 処 理 は 不 要 です 以 上 をまとめると NorthWind データベースからインポートされる 13 のレポートのうち 編 集 の 必 要 がないレポートが8つ コードを 変 換 する 必 要 があるレポートが3つ SQL 文 を 変 更 する 必 要 があるレポートが1つ 置 き 換 えられないグラフコントロールがあるレポートが1つあるとい うことになりますが それでも 編 集 に 必 要 な 手 間 はわずかです インポート 機 能 を 使 用 すれば 既 存 レポートの 移 行 がいかに 簡 単 かお 分 かりい ただけたことと 思 います Crystal Reports レポートのインポート C1Report デザイナは Crystal Reports 定 義 ファイル(fpt レポート)をインポートすることができます Crystal Reports 定 義 ファイルからレポートをインポートするには 1. [インポート]ボタンをクリックするか [ファイル インポート]メニューを 選 択 します ダイアログボックスが 表 示 され イ ンポートするファイルの 名 前 の 入 力 を 求 められます 2. Crystal Reports 定 義 ファイル(RPT)を 選 択 すると デザイナはC1Report フォーマットにレポートを 変 換 します Crystal オブジェクトモデルによって 公 開 されていないか C1Report によってサポートされていない 要 素 などのいくつかの 例 外 を 除 き インポート 処 理 が 正 しく 動 作 すると ソースレポートのほとんどの 要 素 が 処 理 されます その 例 外 には イメージフィー ルド チャート クロスタブフィールドが 含 まれます 132 Copyright GrapeCity inc. All rights reserved.

134 C1PrintDocument の 使 い 方 C1PrintDocument は 印 刷 プレビュー およびディスクファイルへの 保 存 が 可 能 な 複 雑 なドキュメントを 作 成 するために 使 用 できるコンポーネントです ドキュメントを PDF RTF などのさまざまな 外 部 形 式 にエクスポートすることもできます C1PrintDocument は 次 のような 多 くの 優 れた 機 能 を 提 供 します 一 貫 性 のある 透 過 的 な 階 層 ドキュメント 構 造 使 いやすく 効 率 的 なスタイル 変 更 や 異 なるページ 設 定 に 合 わせて 変 更 および 再 レンダリングできるドキュメント ドキュメントのプレビュー 印 刷 保 存 および 外 部 形 式 へのエクスポート 入 力 コントロールになるドキュメント(プレビューコンポーネントによってサポート) 完 全 なテーブルのサポート(ネストされたテーブルを 含 む) 複 数 スタイルテキストのサポート(インライン 画 像 を 含 む) True Type フォントの 埋 め 込 み ハイパーリンク 目 次 の 自 動 生 成 C1PrintDocument で 使 用 されるデフォルトの 名 前 空 間 は C1.C1Preview です C1Preview 製 品 の Windows Forms 部 分 (ドキュメントを 操 作 するための Windows フォームコントロールを 提 供 )は デフォルトの 名 前 空 間 C1.Win.C1Preview を 使 用 します ドキュメント 全 体 は Component から 継 承 されたC1PrintDocumentクラスによって 表 されます C1PrintDocument は 主 に 次 の 部 分 で 構 成 されます Body ドキュメントの 実 際 のコンテンツ(テキスト 画 像 など) Body( 本 体 )は ドキュメントの 論 理 構 造 を 表 します この 後 の ページコレクションも 参 照 してください Pages コンテンツ( 本 体 )と 特 定 のページ 設 定 に 基 づいて 生 成 されたページのコレクション 通 常 ページコレクションは 情 報 を 失 うことなく 再 生 成 できます たとえば 異 なる 用 紙 サイズで 再 生 成 できます Style ドキュメントのルートスタイル スタイルは ドキュメント 要 素 (フォント 色 線 スタイルなど)のほとんどのビジュアルプロ パティを 制 御 します Dictionary ドキュメント 内 の 複 数 の 場 所 で 使 用 される 画 像 は 辞 書 に 格 納 して 再 利 用 することで パフォーマンスを 向 上 させ メモ リフットプリントを 減 らすことができます EmbeddedFonts ドキュメントで 使 用 される 埋 め 込 み True Type フォントのコレクションです Tags ドキュメント 内 に 挿 入 できるユーザー 定 義 タグのコレクションです これらのタグは ドキュメントの 生 成 時 に 対 応 する 値 に 置 き 換 えられます C1PrintDocument の 使 い 方 描 画 オブジェクト 133 Copyright GrapeCity inc. All rights reserved.

135 次 のセクションでは レンダリングオブジェクトの 階 層 包 含 関 係 配 置 およびスタック 規 則 について 説 明 します 描 画 オブジェクトの 階 層 C1PrintDocument のすべてのコンテンツは 描 画 オブジェクトによって 表 されます さまざまなタイプのコンテンツを 表 すため に 豊 富 な 描 画 オブジェクト(RenderObject クラスに 基 づく)が 階 層 化 されて 提 供 されています 描 画 オブジェクト 型 の 階 層 を 次 に 示 します 各 クラスには 簡 単 な 説 明 が 付 いており 斜 体 は 抽 象 クラスを 表 します 描 画 オブジェクトタイプ RenderObject RenderArea RenderToc RenderReport RenderSection RenderC1Printable RenderEmpty RenderGraphics RenderImage RenderInputBase RenderInputButtonBase RenderInputButton RenderInputCheckBox RenderInputRadioButton RenderInputComboBox RenderInputText RenderRichText RenderShapeBase RenderLineBase RenderLine RenderPolygon RenderRectangle RenderEllipse RenderRoundRectangle RenderTable 説 明 階 層 全 体 の 基 本 クラス 他 のオブジェクトの 汎 用 コンテナ 目 次 を 表 します サブレポート(RenderField 内 に 含 まれ SubReport プロパティで 指 定 された C1Report)を 表 します インポートされた C1Report の1つのセクションを 表 します C1PrintDocument にシームレスに 挿 入 できる 外 部 コントロールを 表 します (オブジェクトは IC1Printable インタフェースに 対 応 することが 必 須 ) 空 の 描 画 オブジェクト ページ 区 切 りなど コンテンツをレンダリングする 必 要 がない 部 分 に 便 利 なプレースホルダを 提 供 します.NET Graphics オブジェクト 内 の 描 画 を 表 します 画 像 を 表 します 入 力 コントロール(ドキュメントに 埋 め 込 まれ プレビューで 表 示 / 処 理 されるコントロール)の 基 本 クラス ボタン 形 式 の 入 力 コントロールの 基 本 クラス (ボタン チェックボックス ラジオボタンなど) 入 力 コントロール(ドキュメントに 埋 め 込 まれ プレビューで 表 示 / 処 理 されるコントロール)の 基 本 クラス チェックボックスを 表 します ラジオボタンを 表 します コンボボックスを 表 します (ドロップダウンリストのあるテキスト 入 力 コントロールなど) テキストボックスコントロールを 表 します リッチテキストを 表 します 図 形 ( 線 多 角 形 など)の 基 本 クラス 線 および 多 角 形 の 基 本 クラス 線 を 表 します 多 角 形 を 表 します 四 角 形 を 表 します 楕 円 を 表 します 角 丸 四 角 形 を 表 します テーブルを 表 します 134 Copyright GrapeCity inc. All rights reserved.

136 RenderTextBase RenderParagraph RenderTocItem RenderText RenderField RenderBarCode テキストおよび 段 落 オブジェクトの 基 本 クラス 段 落 を 表 します 段 落 は さまざまなスタイルのテキストフラグメントとインライン 画 像 を 含 むこ とができます 目 次 に 挿 入 される 段 落 を 表 します 単 純 な 単 一 スタイルのテキストを 表 します C1Report のフィールドを 表 します この 型 のオブジェクトは C1Report を C1PrintDocument にインポートするときに 作 成 されます バーコードを 表 します 描 画 オブジェクトの 包 含 配 置 スタック 規 則 C1PrintDocument は 階 層 構 造 を 持 っています 描 画 オブジェクトをドキュメントの 構 成 要 素 とするには それをドキュメントの 階 層 の 特 定 の 位 置 に 追 加 する 必 要 があります ドキュメントの 主 要 部 分 は Body と 呼 ばれます 描 画 オブジェクトを 本 体 に 追 加 するには ドキュメントの Body プロパティの Children コレクションに 追 加 する 必 要 があります 次 に 例 を 示 します コードの 書 き 方 Dim doc As New C1PrintDocument() Dim rt As New RenderText() rt.text = "これはテキストです " doc.body.children.add(rt) コードの 書 き 方 C1PrintDocument doc = new C1PrintDocument(); RenderText rt = new RenderText(); rt.text = "これはテキストです"; doc.body.children.add(rt); ドキュメントの Body.Children コレクションには ドキュメントのすべての 最 上 位 の 描 画 オブジェクトが 含 まれています さら に その 各 描 画 オブジェクトも Children コレクションを 保 持 し そのコレクション 内 に 描 画 オブジェクトが 含 まれています これ は Windows フォームコントロールが 次 々と 内 側 にネストされる( 各 コントロールがそれ 自 身 に 含 まれるコントロールのコレク ションを 保 持 する) 仕 組 みに 似 ています ドキュメントの 本 文 の 他 に ドキュメント 内 にオブジェクトを 表 示 するための 場 所 が2つあります これらは それぞれ PageHeaderと PageFooter プロパティを 使 用 してアクセスできるページのヘッダーとフッターです 表 示 領 域 任 意 の 表 示 オブジェクトには その 子 のような その 他 の 表 示 オブジェクトを 含 めることができますが その 他 のオブジェクトの コンテナとして 専 用 にデザインされた RenderArea と 呼 ばれる1つの 表 示 オブジェクトがあります 表 示 領 域 とその 他 の 表 示 オブジェクト( 表 示 テキストなど)の 主 な 相 違 は 表 示 領 域 では その 幅 と 高 さのどちらも Auto として 指 定 される(つまり 対 応 する 寸 法 が 子 のサイズによって 自 動 的 に 決 定 される)のに 対 し その 他 の 種 類 のオブジェクトでは 自 動 サイズ 調 整 がオブ ジェクト 自 体 のコンテンツ(RenderText の 文 字 サイズ RenderImage の 画 像 サイズなど)によって 決 定 されることです デフォルトでは 新 しい 表 示 領 域 を 作 成 すると その 幅 はその 親 の 幅 に 等 しくなります(したがって 最 上 位 レベルの 表 示 領 域 はページ 全 体 または 段 組 みレイアウトの 場 合 現 在 の 段 落 全 体 に 引 き 伸 ばされます) 一 方 表 示 領 域 の 高 さは デフォルト で Auto(Unit.Auto)に 設 定 され 表 示 領 域 の 子 の 高 さの 合 計 によって 決 定 されます したがって 最 上 位 レベルの 表 示 領 域 135 Copyright GrapeCity inc. All rights reserved.

137 のデフォルトの 動 作 は ページ 全 体 の 幅 を 占 有 し そのコンテンツのすべてに 対 応 するように 必 要 に 応 じて 下 方 に 伸 びること です( 場 合 によっては 複 数 ページにまたがります) 表 示 領 域 の 幅 を 自 動 (Unit.Auto)に 設 定 できます ここでは その 領 域 の 子 の 幅 の 合 計 に 対 応 するように 調 整 されます この 場 合 この 領 域 の 子 の 幅 の 合 計 がページの 幅 を 超 えると 水 平 方 向 の 改 ページが 行 われ 現 在 のページの 右 側 に 拡 張 されたページが 追 加 されます 水 平 方 向 の 改 ページを 禁 止 ( 必 要 に 応 じて 右 側 の 領 域 をクリッピング)するには 領 域 の CanSplitHorz プロパティを False に 設 定 します(デフォルトは True) スタック 規 則 コンテナ 内 の 描 画 オブジェクトは デフォルトではスタック 規 則 に 従 って 配 置 されます スタック 規 則 は コンテナの Stacking プロパティの 値 で 決 定 されます この 値 は 次 のいずれか(StackingRulesEnum 列 挙 型 のメンバ)に 設 定 できます BlockTopToBottom コンテナ 内 の 各 オブジェクトはそれぞれ 別 のオブジェクトの1つ 下 に 配 置 されます 現 在 のページの 下 端 に 到 達 すると 新 しいページが 追 加 されます これはデフォルトです BlockLeftToRight オブジェクトは 左 から 右 に 配 置 されます 現 在 のページの 右 端 に 到 達 すると 新 しい 水 平 方 向 ページが 追 加 されま す 水 平 方 向 ページは 論 理 的 に 前 のページを 右 に 拡 張 します C1PreviewPane はデフォルトでこの 位 置 を 認 識 し こ れらのページを 並 べて 表 示 します InlineLeftToRight オブジェクトはインラインで 左 から 右 に 配 置 されます 現 在 のページの 右 端 に 到 達 すると 続 きは 次 の 行 に 折 り 返 され ます 現 在 のページの 下 端 に 到 達 すると 新 しいページが 追 加 されます スタック 規 則 は 含 まれているオブジェクト( 子 )には 伝 達 されません つまり レンダリング 領 域 を 定 義 し スタックを BlockLeftToRight 値 (デフォルト 以 外 )に 設 定 した 後 で その 内 部 に 別 のレンダリング 領 域 を 追 加 した 場 合 そのスタック 規 則 は 明 示 的 に 変 更 しないかぎりデフォルト(BlockTopToBottom)になります 描 画 オブジェクトの X プロパティと Yプロパティを 使 用 して 位 置 を 明 示 的 に 設 定 することもできます( 詳 細 については 次 のセ クションを 参 照 ) この 場 合 その 描 画 オブジェクトはスタック 順 にまったく 関 与 しません つまり その 位 置 は 兄 弟 オブジェクト の 位 置 に 影 響 せず 兄 弟 オブジェクトの 位 置 にも 影 響 されません 描 画 オブジェクトのサイズと 位 置 の 指 定 描 画 オブジェクトのサイズと 位 置 を 制 御 する 次 の4つのプロパティがあります X - オブジェクトの X 座 標 を 指 定 します Y - オブジェクトの Y 座 標 を 指 定 します Width - オブジェクトの 幅 を 指 定 します Height - オブジェクトの 高 さを 指 定 します これらのプロパティはすべて Unit 型 です X と Y のデフォルト 値 は 自 動 ( 静 的 フィールド Unit.Auto)です つまり オブジェ クトは 親 から 指 定 されるスタック 規 則 に 従 って 配 置 されます( 詳 細 については スタック 規 則 を 参 照 ) 幅 と 高 さのデフォルト 値 は 描 画 オブジェクトの 型 によって 異 なります すべての 描 画 オブジェクトのデフォルトのサイズを 次 に 示 します 幅 高 さ 自 動 サイズ RenderArea RenderToc RenderReport RenderSection RenderC1Printable 親 の 幅 自 動 子 のサイズの 合 計 によって 決 まります 136 Copyright GrapeCity inc. All rights reserved.

138 幅 RenderEmpty 自 動 自 動 0 RenderGraphics 自 動 自 動 コンテンツのサイズによって 決 定 されます RenderImage 自 動 自 動 画 像 のサイズによって 決 定 さ れます 高 さ 自 動 サイズ RenderInputButton RenderInputCheckBox RenderInputRadioButton RenderInputComboBox RenderInputText 自 動 自 動 コンテンツのサイズによって 決 定 されます RenderRichText 親 の 幅 と 同 じ 自 動 -- RenderLine RenderPolygon RenderEllipse RenderArc RenderPie RenderRectangle RenderRoundRectangle 自 動 自 動 図 形 のサイズによって 決 定 さ れます RenderTable 親 の 幅 と 同 じ ( 自 動 幅 は 列 の 幅 の 合 計 として 計 算 されます この 場 合 は すべての 列 の 幅 が 絶 対 値 で 指 定 されている 必 要 があります ) 自 動 (すべての 行 の 高 さの 合 計 と して 決 定 ) RenderParagraph RenderText RenderTocItem 親 の 幅 と 同 じ 自 動 テキストのサイズによって 決 定 されます RenderField 親 の 幅 自 動 コンテンツのサイズによって 決 まります RenderBarCode 自 動 自 動 コンテンツのサイズによって 決 まります これらのプロパティのデフォルト 値 はカスタム 値 でオーバーライドできます スタック 規 則 で 説 明 したように X 座 標 または Y 座 標 に 自 動 以 外 の 値 を 指 定 すると そのオブジェクトがスタックフローから 除 外 されます サイズプロパティと 位 置 プロパティ は 次 のいずれかの 方 法 で 設 定 できます( 下 のサンプルの ro は 描 画 オブジェクト) 自 動 に 設 定 します その 意 味 は 描 画 オブジェクト 型 によって 異 なります ro.width = Unit.Auto; ro.height = "auto"; 絶 対 値 で 設 定 します ro.x = new Unit(8, UnitTypeEnum.Mm); ro.y = 8;( 単 位 として C1PrintDocument.DefaultUnit が 使 用 される) ro.width = "28mm"; 親 のサイズに 対 する 割 合 で 設 定 します この 設 定 を 座 標 に 使 用 しても 意 味 がなく 0になります ro.height = new Unit(50, DimensionEnum.Width); ro.width = "100%"; 137 Copyright GrapeCity inc. All rights reserved.

139 別 のオブジェクトのサイズまたは 位 置 を 参 照 して 設 定 します オブジェクトは 次 のキーワードのいずれかで 識 別 されま す self - 現 在 のオブジェクト(デフォルト 値 省 略 可 能 ) > parent - オブジェクトの 親 prev - 前 の 兄 弟 オブジェクト next - 次 の 兄 弟 オブジェクト page - 現 在 のページ column - 現 在 の 列 page<n> - 指 定 された 番 号 のページ メモ:このページがすでに 存 在 している 必 要 があります 将 来 生 成 されるペー ジへの 前 方 参 照 はサポートされていません column<m> - 現 在 のページの 指 定 された 列 page<n>.column<n> - 指 定 されたページの 指 定 された 列 <object name> - 指 定 された 名 前 のオブジェクト 名 前 は Name プロパティの 値 です オブジェクトはまず 現 在 の 兄 弟 から 検 索 され 次 に 子 から 検 索 されます 参 照 されるオブジェクトのサイズと 位 置 は left top right bottom width height の 各 キーワードで 識 別 されま す( 座 標 はオブジェクトの 親 に 対 する 相 対 位 置 ) いくつかの 例 を 示 します ro.height = "next.height"; - オブジェクトの 高 さを 次 の 兄 弟 オブジェクトの 高 さに 設 定 します ro.width = "page1.width"; - オブジェクトの 幅 を 最 初 のページの 幅 に 設 定 します ro.height = "width"; - オブジェクトの 高 さを 自 分 自 身 の 幅 に 設 定 します ro.y = "prev.bottom"; - オブジェクトの Y 座 標 を 前 の 兄 弟 オブジェクトの 下 端 に 設 定 します ro.width = "prev.width"; - オブジェクトの 幅 を 前 の 兄 弟 オブジェクトの 幅 に 設 定 します Max および Min 関 数 の 使 用 次 に 例 を 示 します ro.width = "Max(prev.width,6cm)"; - オブジェクトの 幅 を6 cm または 直 前 の 兄 弟 オブジェクトの 幅 の 大 きい 方 に 設 定 します 式 で 設 定 します 式 は 上 で 説 明 されている 方 法 のいずれかを 使 用 し + - * / % カッコ ( ) で 組 み 合 わせて 別 の オブジェクトのサイズや 位 置 を 参 照 できます 次 に 例 を 示 します ro.width = "prev.width + 50%prev.width"; オブジェクトの 幅 を 前 の 兄 弟 オブジェクトの 幅 の 1.5 倍 に 設 定 しま す ro.width = "150%prev"; - 上 と 同 じです 設 定 する 要 素 と 同 じ 要 素 を 参 照 する 場 合 は 要 素 (この 場 合 は width ) を 省 略 できます ro.width = "prev*1.5"; - これも 上 と 同 じです ただし パーセントではなく 乗 算 を 使 用 しています サイズや 位 置 が 文 字 列 に 設 定 されているサンプルでは Unit(string) コンストラクタを 使 用 する 構 文 も 使 用 できます 次 に 例 を 示 します コードの 書 き 方 ro.width = New C1.C1Preview.Unit("150%prev") コードの 書 き 方 138 Copyright GrapeCity inc. All rights reserved.

140 ro.width = new Unit("150%prev"); 文 字 列 の 大 文 字 小 文 字 は 区 別 されないため prev.width PrEv.WidhT および PREV.WIDTH はすべて 同 じです 表 示 オブジェクトの 相 対 位 置 決 め 方 式 の 例 以 下 に オブジェクトの 相 対 位 置 決 め 方 式 を 使 用 して 画 像 とテキストを 配 置 するいくつかの 例 を 示 します(サンプル 内 の myimage は コードの 他 の 場 所 で 宣 言 された System.Drawing.Image 型 のオブジェクトです) このコードは オブジェクトを 次 々に 標 準 ブロックフローに 単 純 に 追 加 する 画 像 の 下 にテキストを 配 置 します コードの 書 き 方 Dim doc as New C1PrintDocument Dim rt as New RenderText("test") Dim ri as New RenderImage(myImage) Dim ra As New RenderArea() ra.children.add(ri) ra.children.add(rt) doc.body.children.add(ra) コードの 書 き 方 C1PrintDocument doc = new C1PrintDocument(); RenderText rt = new RenderText("test"); RenderImage ri = new RenderImage(myImage); RenderArea ra = new RenderArea(); ra.children.add(ri); ra.children.add(rt); doc.body.children.add(ra); このコードは 子 が 領 域 に 逆 順 で 追 加 される 場 合 に 同 じ 結 果 ( 画 像 の 下 のテキスト)を 生 成 します( 両 方 のオブジェクトに 自 動 調 整 されない 座 標 が 明 示 的 に 指 定 されているため どちらもブロックフローに 挿 入 されません) コードの 書 き 方 Dim doc as New C1PrintDocument Dim rt as New RenderText("test") Dim ri as New RenderImage(myImage) Dim ra As New RenderArea() ' 親 の 上 部 に 画 像 を 配 置 します ri.y = 0 ' 次 の 兄 弟 の 下 にテキストを 配 置 します rt.y = "next.bottom" ' テキストの 幅 を 自 動 調 整 します rt.width = Unit.Auto ra.children.add(ri) ra.children.add(rt) doc.body.children.add(ra) 139 Copyright GrapeCity inc. All rights reserved.

141 コードの 書 き 方 C1PrintDocument doc = new C1PrintDocument(); RenderText rt = new RenderText("test"); RenderImage ri = new RenderImage(myImage); RenderArea ra = new RenderArea(); // 親 の 上 部 に 画 像 を 配 置 します ri.y = 0; // 次 の 兄 弟 の 下 にテキストを 配 置 します rt.y = "next.bottom"; // テキストの 幅 を 自 動 調 整 します rt.width = Unit.Auto; ra.children.add(rt); ra.children.add(ri); doc.body.children.add(ra); 以 下 のコードは 標 準 ブロックフローに 画 像 を 挿 入 すると 共 に テキストを 画 像 の 右 側 に 配 置 し 画 像 に 対 して 垂 直 方 向 に 中 央 揃 えします コードの 書 き 方 Dim doc as New C1PrintDocument Dim rt as New RenderText("test") Dim ri as New RenderImage(myImage) Dim ra As New RenderArea() ra.children.add(ri) rt.width = Unit.Auto ' 画 像 の 次 にテキストを 追 加 します ra.children.add(rt) rt.x = "prev.right" rt.y = "prev.height/2-self.height/2" doc.body.children.add(ra) コードの 書 き 方 C1PrintDocument doc = new C1PrintDocument(); RenderText rt = new RenderText("test"); RenderImage ri = new RenderImage(myImage); RenderArea ra = new RenderArea(); ra.children.add(ri); rt.width = Unit.Auto; // 画 像 の 次 にテキストを 追 加 します ra.children.add(rt); rt.x = "prev.right"; rt.y = "prev.height/2-self.height/2"; doc.body.children.add(ra); このコードは 画 像 の 右 側 にテキストを 配 置 し 垂 直 方 向 に 中 央 揃 えしますが 相 対 ID prev ではなく 位 置 決 め 式 で RenderObject.Name も 使 用 します また 式 で 絶 対 長 さを 使 用 した 結 果 テキストが 右 に 2 mm 移 動 します 140 Copyright GrapeCity inc. All rights reserved.

142 コードの 書 き 方 Dim doc as New C1PrintDocument Dim rt as New RenderText("test") Dim ri as New RenderImage(myImage) Dim ra As New RenderArea() ri.name = "myimage" rt.width = "auto" rt.x = "myimage.right+2mm" rt.y = "myimage.height/2-self.height/2" ra.children.add(ri) ra.children.add(rt) doc.body.children.add(ra) コードの 書 き 方 C1PrintDocument doc = new C1PrintDocument(); RenderText rt = new RenderText("test"); RenderImage ri = new RenderImage(myImage); RenderArea ra = new RenderArea(); ri.name = "myimage"; rt.width = "auto"; rt.x = "myimage.right+2mm"; rt.y = "myimage.height/2-self.height/2"; ra.children.add(ri); ra.children.add(rt); doc.body.children.add(ra); 以 下 のコードは 組 み 込 み Max 関 数 を 使 用 してテキストが 右 に 少 なくとも 6cm 移 動 するように 同 じ 例 を 変 更 します コードの 書 き 方 Dim doc as New C1PrintDocument Dim rt as New RenderText("test") Dim ri as New RenderImage(myImage) Dim ra As New RenderArea() ri.name = "myimage" rt.width = "auto" rt.x = "Max(myImage.right+2mm,6cm)" rt.y = "myimage.height/2-self.height/2" ra.children.add(ri) ra.children.add(rt) doc.body.children.add(ra) コードの 書 き 方 C1PrintDocument doc = new C1PrintDocument(); RenderText rt = new RenderText("test"); 141 Copyright GrapeCity inc. All rights reserved.

143 RenderImage ri = new RenderImage(myImage); RenderArea ra = new RenderArea(); ri.name = "myimage"; rt.width = "auto"; rt.x = "Max(myImage.right+2mm,6cm)"; rt.y = "myimage.height/2-self.height/2"; ra.children.add(ri); ra.children.add(rt); doc.body.children.add(ra); 以 下 のコードスニペットは 画 像 をページの 右 側 に 配 置 すると 共 に( 表 示 領 域 の 幅 にデフォルト 値 である 親 の 幅 を 使 用 して) テキストを 左 揃 えにし 画 像 に 対 して 垂 直 方 向 に 中 央 揃 えします コードの 書 き 方 Dim doc as New C1PrintDocument Dim rt as New RenderText("test") Dim ri as New RenderImage(myImage) Dim ra As New RenderArea() ri.name = "myimage" ' 画 像 を 右 揃 えにします ri.x = "parent.right-width" ' テキストを 左 揃 えにします rt.x = "0" rt.y = "myimage.height/2-height/2" ra.children.add(ri) ra.children.add(rt) doc.body.children.add(ra) コードの 書 き 方 C1PrintDocument doc = new C1PrintDocument(); RenderText rt = new RenderText("test"); RenderImage ri = new RenderImage(myImage); RenderArea ra = new RenderArea(); ri.name = "myimage"; // 画 像 を 右 揃 えにします ri.x = "parent.right-width"; // テキストを 左 揃 えにします rt.x = "0"; rt.y = "myimage.height/2-height/2"; ra.children.add(ri); ra.children.add(rt); doc.body.children.add(ra); 描 画 オブジェクトの 影 Reports for WinForms には 描 画 オブジェクトによるシャドウキャストのサポートが 含 まれます パブリック IShadow インタ フェースは パブリック 構 造 体 Shadow によって 実 装 され 非 アンビエントパブリックプロパティ Shadow によって 公 開 されま 142 Copyright GrapeCity inc. All rights reserved.

144 す 次 のサブプロパティが 含 まれます プロパティ 透 明 度 サイズ Distance Angle Color 説 明 影 の 透 明 度 をパーセントで 取 得 または 設 定 します 0の 値 は 塗 りつぶした( 不 透 明 な) 影 を 定 義 し 100 の 値 (デフォルト)は 完 全 に 透 明 ( 非 表 示 )な 影 を 定 義 します オブジェクトのサイズに 相 対 的 な 影 のサイズをパーセントで 取 得 または 設 定 します 100 の 値 (デフォルト)は 影 がオブジェクトと 同 じサイズを 持 つことを 示 します 影 の 中 心 がオブジェクトの 中 心 からのオフセットである 距 離 を 取 得 または 設 定 します 絶 対 単 位 値 ( 0.5in や 4mm など)のみがこのプロパティに 割 り 当 てられることに 注 意 してください デ フォルトは 2mm です 影 の 角 度 を 度 単 位 で 取 得 または 設 定 します 角 度 は 3 時 の 位 置 に 相 対 的 に 時 計 回 りに 測 定 さ れます デフォルトは45です 影 の 色 を 取 得 または 設 定 します デフォルトは Black です 次 のサンプルコードは 描 画 オブジェクトの 影 を 定 義 します コードの 書 き 方 Dim doc As C1PrintDocument = C1PrintDocument1 Dim rt As New RenderText("Sample Shadow") rt.width = Unit.Auto rt.style.shadow.transparency = 20 rt.style.shadow.color = Color.BurlyWood doc.body.children.add(rt) コードの 書 き 方 C1PrintDocument doc = c1printdocument1; RenderText rt = new RenderText("Sample Shadow"); rt.width = Unit.Auto; rt.style.shadow.transparency = 20; rt.style.shadow.color = Color.BurlyWood; doc.body.children.add(rt); 影 のプロパティの 設 定 時 に Shadow オブジェクトを 作 成 する 必 要 はありませんが たとえば 次 のように 作 成 することも 選 択 で きます コードの 書 き 方 Dim doc As C1PrintDocument = C1PrintDocument1 Dim rt As New RenderText("Sample Shadow") rt.width = Unit.Auto rt.style.shadow = New Shadow(20, 100, "1mm", 45, Color.CadetBlue) doc.body.children.add(rt) コードの 書 き 方 143 Copyright GrapeCity inc. All rights reserved.

145 C1PrintDocument doc = c1printdocument1; RenderText rt = new RenderText("Sample Shadow"); rt.width = Unit.Auto; rt.style.shadow = new Shadow(20, 100, "1mm", 45, Color.CadetBlue); doc.body.children.add(rt); 注 意 :レイアウト 目 的 の 場 合 影 はオブジェクトのサイズに 影 響 しません オブジェクトの 枠 線 Reports for WinForms には 新 しい 方 法 の 枠 線 のレイアウトと 配 置 へのサポートが 含 まれています 枠 線 のレイアウトと 配 置 のこのメソッドは 主 に RDL 互 換 性 のために 追 加 されましたが それ 自 身 にも 役 立 てることができます たとえば 現 在 はオ プションで オブジェクトのサイズや 周 囲 のオブジェクトの 位 置 にも 影 響 を 及 ぼさずに 枠 線 をオブジェクトの 範 囲 で 中 央 揃 えで きるようになっています 次 のパブリックタイプによりこの 機 能 が 容 易 に 使 用 できます タイプ BordersModeEnum 説 明 オブジェクトをドキュメントにレイアウトする 際 の 枠 線 の 太 さを 示 すさまざまなモードを 指 定 し ます BordersModeEnum には 次 のメンバが 含 まれます Default: 枠 線 全 体 はオブジェクトの 一 部 であると 見 なされます これは C1PrintDocument のオブジェクトのデフォルト 動 作 です C1Report: 枠 線 の 太 さの 内 側 1/2 はオブジェクトの 一 部 と 見 なされ 枠 線 の 外 側 1/2 はオブジェクトのスペース 外 と 見 なされます これは C1Report のオブジェクトのデフォルト 動 作 です(MS Access の 場 合 と 同 じ) Rdl: 枠 線 の 太 さはオブジェクトのサイズとレイアウトの 計 算 時 にまったく 考 慮 されません 枠 線 はオブジェクトの 範 囲 に 中 央 揃 えにして 描 画 されます スタイル C1PrintDocumentの 基 本 的 な 機 能 の1つにスタイルがあります スタイルは ドキュメントのコンテンツの 表 現 に 使 用 されるビ ジュアルな 属 性 のほとんどを 提 供 します スタイルを 使 用 する 際 に 留 意 しておく 必 要 がある 主 な 点 を 以 下 に 説 明 します Style プロパティを 持 つクラス ドキュメント 内 で 独 自 のビジュアル 表 現 を 持 つすべてのオブジェクトには スタイルが 関 連 付 けられています 具 体 的 には 次 のクラスが Style プロパティを 持 ちます ドキュメント 全 体 (C1PrintDocument). 描 画 オブジェクト(RenderObject とすべての 派 生 クラス). 段 落 オブジェクト(ParagraphObjectから 派 生 されるParagraphText, とParagraphImage) テーブルセル (TableCell). テーブル 内 のセルのユーザー 定 義 グループ(UserCellGroup). TableVectorテーブルの 行 と 列 (から 派 生 される TableRow と TableCol). テーブルの 行 や 列 のグループ - テーブルヘッダー テーブルフッターなど(TableVectorGroup). インラインスタイルと 非 インラインスタイル 144 Copyright GrapeCity inc. All rights reserved.

146 C1PrintDocumentには インラインと 非 インラインの2 種 類 のスタイルがあります オブジェクトがStyle プロパティを 持 つ 場 合 そのプロパティはオブジェクトのインラインスタイルを 参 照 します インラインスタイルはオブジェクトに 不 可 欠 です インライ ンスタイルは 削 除 も 設 定 もできません これは オブジェクトと 共 に 常 に 存 在 するスタイルインスタンスを 参 照 する 読 み 取 り 専 用 プロパティです このため スタイルのプロパティはオブジェクト 自 身 のプロパティと 見 なすことができます ただし 継 承 のた め スタイルには 大 きな 柔 軟 性 があり メモリ 効 率 も 優 れています さらに 各 Style には どのオブジェクトにも 直 接 アタッチされていないスタイルのコレクションChildrenが 含 まれています 代 わりに これらの 非 インラインスタイルを 親 スタイル(スタイルのプロパティ Parent と AmbientParent を 参 照 )として 使 用 し て 他 のスタイルインラインスタイルを インラインスタイルを 含 むの 継 承 プロパティの 値 を 提 供 できます スタイルオブジェクト 自 体 を 独 立 に 作 成 することはできません スタイルオブジェクトは 常 に 描 画 オブジェクトなどのドキュメン トの 要 素 に 直 接 アタッチされたインラインスタイル または 別 のスタイルの Children コレクションのメンバとして 作 成 されます たとえば 次 のコードはコンパイルされません コードの 書 き 方 Dim doc As New C1PrintDocument() Style s = new Style() 'コンパイルされません s.borders.all = New LineDef("1mm", Color.Red) Dim rt As New RenderText("My text.") rt.style = s コードの 書 き 方 C1PrintDocument doc = new C1PrintDocument(); Style s = new Style(); // コンパイルされません s.borders.all = new LineDef("1mm", Color.Red); RenderText rt = new RenderText("My text."); rt.style = s; 一 方 このコードはコンパイルされ 希 望 する 結 果 が 得 られます コードの 書 き 方 Dim doc As New C1PrintDocument() Dim s As doc.style.children.add() s.borders.all = New LineDef("1mm", Color.Red) RenderText rt = New RenderText("My text.") rt.style.parent = s コードの 書 き 方 C1PrintDocument doc = new C1PrintDocument(); Style s = doc.style.children.add(); s.borders.all = new LineDef("1mm", Color.Red); RenderText rt = new RenderText("My text."); rt.style.parent = s; アンビエントおよび 非 アンビエントスタイル 属 性 と 親 についての 詳 細 は アンビエントおよび 非 アンビエントスタイルプロパティを 145 Copyright GrapeCity inc. All rights reserved.

147 参 照 してください アンビエントスタイルプロパティと 非 アンビエントスタイルプロパティ すべてのスタイルプロパティ(フォント 色 境 界 線 など)は その 意 味 に 基 づいてアンビエントと 非 アンビエントの2つのグルー プに 分 類 できます アンビエントプロパティはオブジェクトのコンテンツに 影 響 するプロパティ(テキストフォントなど)で 非 アンビ エントプロパティはオブジェクトの 装 飾 の 描 画 に 使 用 されるプロパティ(オブジェクトの 周 囲 の 境 界 線 など)です 通 常 この2つ のグループでは 必 要 な 動 作 ( 特 に 継 承 規 則 )が 異 なるため この 区 別 は 自 然 で 便 利 です アンビエントプロパティは 通 常 オ ブジェクトの 階 層 を 下 方 に 伝 達 されることが 適 しています つまり コンテナオブジェクトのアンビエントプロパティの 設 定 が そ のコンテナ 内 のすべてのオブジェクトに 影 響 するということです テーブルを 例 にすれば テーブル 自 体 にフォントを 設 定 した 場 合 は 通 常 テーブル 内 のすべてのセルのテキストにもそのフォントが 適 用 される 方 が 自 然 です 非 アンビエントプロパティで は この 事 情 が 大 きく 異 なります たとえば テーブルの 前 後 に 余 白 を 追 加 する 場 合 は テーブルの Spacing プロパティを 設 定 しますが その 余 白 がすべてのセルに 伝 達 されると 不 都 合 です C1Preview のスタイルでは このようにスタイルプロパ ティがアンビエントグループと 非 アンビエントグループに 分 類 されています 基 本 的 に 通 常 はオブジェクトのスタイルにプロパ ティを 設 定 するだけで(あまりアンビエントについて 考 えなくても) 適 切 に 処 理 されます すべてのスタイルプロパティの 完 全 なリスト(プロパティがアンビエントであるか そうでないかを 示 す)については 下 記 の 別 個 のセクションで 示 します(スタイルプロパティとそのデフォルト 値 を 参 照 してください) ただし 次 の 一 般 的 なルールが 適 用 され ます アンビエントスタイルプロパティは オブジェクトのコンテンツ(テキストフォントなど)の 表 示 を 制 御 します デフォルトでは アン ビエントプロパティは オブジェクトの 包 含 階 層 を 下 方 に 伝 播 します つまり コンテナオブジェクトのスタイルに 設 定 されたアン ビエントプロパティは そのコンテナ 内 のすべてのオブジェクトに 適 用 されます 非 アンビエントスタイルプロパティは オブジェクトの 装 飾 ( 枠 線 など)を 制 御 します デフォルトでは 非 アンビエントプロパティ は オブジェクトの 包 含 を 通 じて 伝 わりませんが Style.Parent プロパティを 介 してスタイル 全 体 に 伝 えることができます スタイルの 継 承 - Parent と AmbientParent スタイルが 適 用 されるオブジェクトの 外 観 に 影 響 するすべてのスタイルプロパティ(Font BackColor など)は 設 定 されてい るか 設 定 されていないかのいずれかの 状 態 です 最 初 新 しく 作 成 されたスタイルのプロパティはどれも 設 定 されていません これらの 値 を 参 照 することはできますが 継 承 を 通 して 別 のスタイルまたはオブジェクトから 取 得 されます( 下 記 を 参 照 ) ただ し プロパティが 設 定 されている 場 合 その 設 定 値 はスタイル 自 体 に 保 存 され 継 承 を 通 して 他 のスタイルの 影 響 を 受 けること はなくなります スタイルには スタイルの 継 承 をサポートする2つの 特 別 なプロパティ Parent と AmbientParent があります Parent プロパ ティは 現 在 のスタイルに 設 定 されていない 非 アンビエントプロパティの 値 を 提 供 するスタイルを 取 得 または 設 定 しま す AmbientParent プロパティは 現 在 のスタイルに 設 定 されていないアンビエントプロパティの 値 を 提 供 するスタイルを 取 得 または 設 定 します デフォルトでは 新 しく 作 成 されたインラインスタイルの 親 はどちらも 空 ( の 場 合 は null 値 VB の 場 合 は Nothing)ですが スタイルの Children コレクションに 作 成 されたスタイルの 場 合 Parent はそのコレクションを 保 持 す るスタイルに 設 定 され AmbientParent は 空 になります スタイルの Parent が 指 定 されていない 場 合 非 アンビエントプロパティの 値 は 静 的 なデフォルトから 取 得 されます( 下 の テーブル を 参 照 ) スタイルの AmbientParent が 指 定 されていない 場 合 アンビエントプロパティの 値 は 現 在 のスタイル が 適 用 されるオブジェクトを 保 持 するオブジェクトから 取 得 されます たとえば RenderTextrt がRenderArea ra に 含 まれている 場 合 は 次 の 規 則 に 基 づいて テキストのレンダリングに 使 用 さ れるフォントが 取 得 されます rt.style.font が 設 定 されている 場 合 は それが 使 用 されます そうではなく rt.style.ambientparent が null でない 場 合 は Font がアンビエントプロパティなの で rt.style.ambientparent.font が 使 用 されます rt.style.ambientparent が null(デフォルト)の 場 合 は 包 含 するオブジェクトのフォント(ra.Style.Font)が 使 用 され ます 同 じ 例 を 使 用 すると 次 の 規 則 に 基 づいて RenderText オブジェクトの BackgroundImage が 取 得 されます rt.style.backgroundimage が 設 定 されている 場 合 は それが 使 用 されます 146 Copyright GrapeCity inc. All rights reserved.

148 そうでなく rt.style.parent が null ではない 場 合 は rt.style.parent.backgroundimage が 使 用 されます それ 以 外 の 場 合 は 背 景 画 像 のデフォルト 値 ( 画 像 なし)が 使 用 されます デフォルトでは スタイルの Children コレクションに 含 まれるスタイルの Parent は その Children コレクションの 所 有 者 で あるスタイルに 設 定 されていますが これは 変 更 できることに 注 意 してください たとえば Children コレクションに 含 まれる1 つのスタイルの 親 を 同 じコレクション 内 の 別 のスタイルに 設 定 することもできます Children コレクションは 関 連 するスタイル のグループ 化 や 保 存 に 便 利 な 場 所 を 提 供 するだけで 実 際 にスタイルの 階 層 には 何 も 制 限 が 適 用 されません スタイルプロパティとそのデフォルト 値 次 の 表 に スタイルが 適 用 されるオブジェクトの 外 観 に 影 響 するすべてのスタイルプロパティを 示 し 各 プロパティがアンビエン トかどうかと プロパティのデフォルト 値 を 示 します プロパティ 名 ActiveHyperlinkAttrs BackColor BackgroundImage アンビエント はい デフォルト 値 空 なし BackgroundImageAlign 左 / 上 に 配 置 水 平 / 垂 直 方 向 に 引 き 伸 ばし 縦 横 比 を 保 持 BackgroundImageName Borders Brush なし すべて 空 なし CharSpacing はい 0 CharWidth はい 100 ClientAreaOnly FlowAlign FlowAlignChildren False デフォルトフローの 配 置 近 接 配 置 Font はい Arial, 10pt FontBold はい False FontItalic はい False FontName はい Arial FontSize はい 10 FontStrikeout はい False FontUnderline はい False GridLines なし HoverHyperlinkAttrs はい HyperlinkAttrs はい 青 ImageAlign はい 左 / 上 に 配 置 水 平 / 垂 直 方 向 に 引 き 伸 ばし 縦 横 比 を 保 持 JustifyEndOfLines はい True JustifyLastLine はい False 147 Copyright GrapeCity inc. All rights reserved.

149 プロパティ 名 アンビエント LineSpacing はい 100% MeasureTrailingSpaces はい False MinOrphanLines 0 デフォルト 値 Padding すべてゼロ ShapeFillBrush なし ShapeFillColor ShapeLine Spacing 透 明 黒 0.5pt すべてゼロ TextAlignHorz はい Left TextAlignVert はい Top TextAngle 0 TextColor はい 黒 TextIndent 0 TextPosition 標 準 VisitedHyperlinkAttrs はい マゼンダ WordWrap はい True 複 雑 なスタイルプロパティのサブプロパティ スタイルプロパティとそのデフォルト 値 ピックの 表 に 示 すいくつかのプロパティには 個 別 に 設 定 できるサブプロパティがありま す たとえば BackgroundImageAlign プロパティには AlignHorz AlignVert およびその 他 いくつかのサブプロパティが あります 読 み 取 り 専 用 サブプロパティ( 変 えることができず 個 々のサブプロパティを 設 定 できないフォント 付 きの 場 合 など)を 除 き 各 サブプロパティは 個 別 に 設 定 または 継 承 することができます フォントのサブプロパティは 変 更 できませんが これらのサブプロパティのそれぞれは FontBold FontItalic など 独 立 した スタイルのルートレベルのプロパティによって 表 されます これらの 各 サブプロパティは 個 別 に 設 定 され 一 般 的 なスタイル 継 承 ルールに 従 います ただし 考 慮 しなければならない 微 妙 な 違 いがあります Font と 独 立 したフォント 関 連 プロパティ (FontBold FontItalic など)の 両 方 が 設 定 される 場 合 その 結 果 は2つのプロパティが 設 定 される 順 序 によって 異 なります 最 初 に Font が 設 定 されると フォント 関 連 プロパティが 変 更 され(つまり FontItalic が True に 設 定 され) その 変 更 が 結 果 に 影 響 を 与 えます それとは 逆 に 最 初 に FontItalic が True に 設 定 され 次 に Font がイタリック 以 外 のフォントに 設 定 され ると FontItalic の 変 更 は 失 われます 計 算 されたスタイルプロパティ Reports for WinForms の 2009 v3 リリースでは 計 算 されたスタイルプロパティへのサポートが 追 加 されました 各 スタイル プロパティに Expr が 付 加 された 同 じ 名 前 で 文 字 列 が 一 致 するプロパティが 追 加 されました たとえば BackColorExpr とTextColorExpr プロパティが BackColor と TextColor プロパティに 一 致 するというように すべてのプロパティで 続 きま す 複 合 プロパティのサブプロパティ(ImageAlign Borders など)も 式 が 一 致 するサブプロパティを 持 ちます たとえば LeftExpr プロパティは Left プロパティに 一 致 するというように 続 きます スタイル 式 148 Copyright GrapeCity inc. All rights reserved.

150 次 のオブジェクトはスタイル 式 内 で 使 用 できます 変 換 型 ページ 参 照 RenderObject: 現 在 のスタイルのオーナー 描 画 オブジェクト Document: 現 在 のドキュメント Page(および PageNo などの 他 のページ 関 連 オブジェクト):オブジェクトを 格 納 するページ( 下 の 注 記 を 参 照 ) RenderFragment: 現 在 のフラグメント Aggregates Fields, DataBinding: 現 在 のデータソースを 参 照 します スタイルのオーナーがテーブル 内 にあり データソースが 行 と 列 の 両 方 に 指 定 された 場 合 は 列 に 定 義 されたデータソースを 参 照 します RowNumber: 関 連 付 けられたデータソースの 行 番 号 ColFields, ColDataBinding:スタイルがテーブル 内 で 使 用 された 場 合 にのみアクセス 可 能 で 列 に 定 義 されたデータ ソースを 参 照 します RowFields, RowDataBinding:スタイルがテーブル 内 で 使 用 された 場 合 にのみアクセス 可 能 で 行 に 定 義 された データソースを 参 照 します 計 算 されたスタイルプロパティ 値 がオブジェクトのレンダリングに 使 用 される 実 際 の 値 に 割 り 当 てられると タイプは 次 の 規 則 に 従 って 変 換 されます ターゲットプロパティが 数 値 型 (int float など)の 場 合 必 要 に 応 じて 計 算 された 値 は 必 要 な 数 値 型 に 変 換 (string rounded などから 変 換 )されます ターゲットプロパティが 単 位 (スペースなど)で 式 が 数 値 を 生 成 する 場 合 単 位 は new Unit(Document.DefaultUnitType, value) コンストラクタを 使 用 して 作 成 されます 式 が 文 字 列 を 生 成 した 場 合 こ の 文 字 列 は 通 常 の 単 位 規 則 を 使 用 して 解 析 されます それ 以 外 の 場 合 はすべて TypeConverter を 使 用 してこの 値 をターゲットタイプに 変 換 する 試 みが 行 われます 最 後 に 式 が null を 生 成 した 場 合 プロパティが 現 在 のスタイルに 指 定 されなかったかのように 親 のスタイル 値 が 使 用 されます( 未 指 定 のスタイルプロパティのデフォルト 動 作 など) 以 下 は ページ 参 照 に 関 連 する 重 要 な 注 記 です スタイル 式 は 現 在 のページを 参 照 できます たとえば 次 のようになります ro.style.backcolor = "iif(pagecount < 3, Color.Red, Color.Blue)"; この 式 はドキュメントの 生 成 時 に 計 算 できません そのため 生 成 時 にこの 式 は 無 視 (デフォルト 値 を 使 用 )され 値 は オブ ジェクトを 格 納 する 実 際 のページがレンダリングされる(プレビューへの 描 画 エクスポートなど)ときに 計 算 されます その 結 果 改 ページ 制 御 に 依 存 しかつドキュメントのレイアウトに 影 響 するスタイル 式 は 予 期 しない 望 ましくない 結 果 を 生 成 する 可 能 性 があります たとえば 次 の 式 がフォントサイズに 使 用 された 場 合 ro.style.fontsize = "iif(pagecount < 3, 20, 30)"; 上 の 式 は 生 成 時 に 無 視 されます その 結 果 レンダリングされたテキストは 計 算 されたオブジェクトのサイズには 大 きすぎる 可 能 性 が 非 常 に 高 く クリッピングが 発 生 します 段 落 オブジェクトのスタイル RenderParagraph オブジェクトは( 他 の 描 画 オブジェクトと 同 様 に)Style プロパティを 持 ち このプロパティを 使 用 して 段 落 全 体 に 適 用 されるスタイルプロパティを 設 定 できます 個 別 の 段 落 オブジェクト(ParagraphText と ParagraphImage) もスタ イルを 持 ちますが 段 落 オブジェクトに 適 用 されるスタイルプロパティは 次 のプロパティに 制 限 されます BackColor Brush ( 塗 りつぶしブラシの 場 合 のみ) Font (FontBoldなどのフォント 関 連 のプロパティ) HoverHyperlinkAttrs TextColor TextPosition 149 Copyright GrapeCity inc. All rights reserved.

151 VisitedHyperlinkAttrs テーブルのスタイル テーブルでは オブジェクトの 表 示 に 影 響 を 与 えるスタイルの 数 が 劇 的 に 増 加 します 通 常 の 包 含 (テーブルは ドキュメントの その 他 すべての 要 素 と 同 様 に 他 の 表 示 オブジェクト 内 または 最 上 位 レベルのドキュメントの 本 文 内 のいずれかに 含 まれま す)に 加 えて テーブル 内 のオブジェクトもすべてが 独 自 のスタイルを 持 つセル 行 および 列 に 属 します さらに オブジェクト は 多 くのテーブル 要 素 グループに 属 することができるので 処 理 は 一 層 複 雑 になります テーブル 内 でスタイルがどのように 動 作 するかについての 詳 細 は テーブル 内 のスタイルトピックを 参 照 してください テーブル テーブルは RenderTable クラスのインスタンスによって 表 されます テーブルを 作 成 するには 次 の 例 に 示 すように 単 にそ のコンストラクタを 呼 び 出 します コードの 書 き 方 Dim rt1 As New C1.C1Preview.RenderTable() コードの 書 き 方 RenderTable rt1 = new RenderTable(); C1PrintDocument テーブルは Microsoft Excel のモデルに 準 拠 します 新 規 に 作 成 されたテーブルは 物 理 的 には 空 (つ まり メモリ 内 に 多 くのスペースを 占 有 していません)ですが 論 理 的 には 無 限 です 最 初 に 行 または 列 を 追 加 することなく テーブルの 任 意 の 要 素 (セル 行 または 列 )にアクセスし その 要 素 に 書 き 込 むことで その 要 素 の 前 に 来 るすべての 要 素 を 論 理 的 に 作 成 できます たとえば 行 インデックスが9 列 インデックスが3の 空 のテーブルのセルのテキストを 設 定 すると テーブルは 10 行 と4 列 に 拡 大 されます テーブルにコンテンツを 追 加 するには セルにデータを 入 力 します これは 次 の 方 法 のいずれかを 使 用 して 実 行 できます セルの RenderObject プロパティを 任 意 の 表 示 オブジェクトに 設 定 する これにより 指 定 した 表 示 オブジェクトがその セルに 挿 入 されます 別 のテーブルを 含 む 任 意 の 表 示 オブジェクトをセルに 追 加 できます その 結 果 テーブルをネス トできます セルの Text プロパティを 文 字 列 に 設 定 する これは 実 際 にはテキストのみのテーブルを 作 成 するための 便 利 な ショートカットです 新 しいRenderText オブジェクトを 作 成 し セルの RenderObject プロパティをその RenderText に 設 定 し そのオブジェクトの Text プロパティを 指 定 した 文 字 列 に 設 定 します たとえば 次 のコードスニペットは 10 行 と4 列 のテーブルを 作 成 します コードの 書 き 方 Dim rt1 As New C1.C1Preview.RenderTable() Dim row As Integer = 0 Do While (row < 10) Dim col As Integer = 0 Do While (col < 4) rt1.cells(row, col).text = String.Format( _ "Text in cell({0}, {1})", row, col) col += Copyright GrapeCity inc. All rights reserved.

152 Loop row += 1 Loop コードの 書 き 方 RenderTable rt1 = new RenderTable(); for (int row = 0; row < 10; ++row) { for (int col = 0; col < 4; ++col) rt1.cells[row, col].text = string.format( "Text in cell({0}, {1})", row, col); } Cols.Count プロパティ( 現 在 の 列 の 数 を 返 します)と Rows.Count プロパティ( 現 在 の 行 の 数 を 返 します)の 値 を 照 会 すること によって 実 際 のテーブルの 現 在 のサイズをいつでも 確 認 できます セル 列 および 行 へのアクセス テーブルトピックのサンプルコードからわかるように テーブル 内 のすべてのセルは TableCellCollection 型 を 持 つCells コ レクションによって 表 されます この 個 々のセルを 表 すコレクション 内 の 要 素 は TableCell 型 を 持 っています テーブル 内 の 任 意 のセルにアクセスするために Cells コレクションは 次 のコードに 示 すようにセルの 行 と 列 にインデックスを 付 けることが できます コードの 書 き 方 Dim rt As New C1.C1Preview.RenderTable() ' 行 10 列 4 のセルを 取 得 します Dim tc as TableCell = rt.cells(10, 4) コードの 書 き 方 RenderTable rt = new RenderTable(); // 行 10 列 4 のセルを 取 得 します TableCell tc = rt.cells[10, 4]; テーブルの 列 は TableColCollection 型 を 持 ち TableCol 型 の 要 素 を 含 むCols コレクションを 通 じてアクセスされます セル と 同 様 に 列 を タッチ するだけで 列 が 作 成 されます たとえば 列 のStyleプロパティを 設 定 すると 列 が 存 在 しない 場 合 で も その 列 が 作 成 されます テーブルの 行 は TableRowCollection 型 を 持 ち TableRow 型 の 要 素 を 含 むRows コレクションを 通 じてアクセスされます セルおよび 列 と 同 様 に 行 を タッチ するだけで 行 が 作 成 されます たとえば 行 の Height を 設 定 すると 行 (およびその 前 のすべての 行 )が 自 動 的 に 作 成 されます ただし 実 際 のコンテンツを 含 まないテーブルのすべての 行 は 高 さがゼロとなり そのためテーブルを 表 示 しても 目 に 見 えま せん 151 Copyright GrapeCity inc. All rights reserved.

153 テーブルと 列 の 幅 行 の 高 さ C1PrintDocumentテーブルの 行 と 列 のいずれもサイズが 自 動 調 整 されますが デフォルトの 動 作 は 行 と 列 で 異 なります デ フォルトでは 行 の 高 さは 自 動 調 整 されますが( 行 内 のセルのコンテンツに 基 づいて 計 算 されます) 列 の 幅 は 固 定 されま す RenderTable のデフォルトの 幅 は その 親 の 幅 と 同 じであり その 幅 はすべての 列 で 均 等 に 共 有 されます 次 のコード は 同 じ 幅 の3 列 セルのコンテンツの 高 さに 自 動 調 整 された 高 さの 10 行 を 含 む ページ 全 体 にわたるテーブルを 作 成 しま す コードの 書 き 方 Dim rt As New C1.C1Preview.RenderTable() rt.style.gridlines.all = LineDef.Default Dim row As Integer = 0 Do While (row < 10) Dim col As Integer = 0 Do While (col < 3) rt.cells(row, col).text = String.Format( _ "Cell({0},{1})", row, col) col += 1 Loop row += 1 Loop doc.body.children.add(rt) ReportViewer for ASP.NET Web Forms コードの 書 き 方 RenderTable rt = new RenderTable(); rt.style.gridlines.all = LineDef.Default; for (int row = 0; row < 10; ++row) for (int col = 0; col < 3; ++col) rt.cells[row, col].text = string.format( "Cell({0}, {1})", row, col); doc.body.children.add(rt); サイズが 完 全 に 自 動 調 整 されるテーブルを 作 成 するには デフォルト 設 定 に 比 べて 次 の2つの 処 理 を 行 う 必 要 があります テーブル 全 体 の 幅 を Auto に 設 定 する 必 要 があります( 文 字 列 をautoに 設 定 するか スタティックフィールドを Unit.Auto に 設 定 します) および テーブルの RenderTable.ColumnSizingMode を TableSizingModeEnum.Auto に 設 定 する 必 要 があります 以 下 に 変 更 されたコードを 示 します コードの 書 き 方 Dim rt As New C1.C1Preview.RenderTable() rt.style.gridlines.all = LineDef.Default Dim row As Integer = 0 Do While (row < 10) 152 Copyright GrapeCity inc. All rights reserved.

154 Dim col As Integer = 0 Do While (col < 3) rt.cells(row, col).text = String.Format( _ "Cell({0},{1})", row, col) col += 1 Loop row += 1 Loop rt.width = Unit.Auto rt.columnsizingmode = TableSizingModeEnum.Auto doc.body.children.add(rt) コードの 書 き 方 RenderTable rt = new RenderTable(); rt.style.gridlines.all = LineDef.Default; for (int row = 0; row < 10; ++row) for (int col = 0; col < 3; ++col) rt.cells[row, col].text = string.format( "Cell({0}, {1})", row, col); rt.width = Unit.Auto; rt.columnsizingmode = TableSizingModeEnum.Auto; doc.body.children.add(rt); 変 更 されたコードは テーブルの 各 列 の 幅 を セル 内 のすべてのテキストに 対 応 する 必 要 がある 限 度 に 設 定 します 行 と 列 のグループ - ヘッダーとフッター テーブルの 強 力 な 機 能 の1つに 要 素 のグループ 化 があります グループ 化 を 使 用 すると テーブルの 複 数 の 要 素 にまとめて アクセスできます たとえば それが1つの 要 素 であるかのようにグループにスタイルを 設 定 できます 列 のグループ 化 行 の グループ 化 およびセルのグループ 化 がサポートされています 行 のグループにアクセスするには RowGroups コレクション (TableVectorGroupCollection 型 ).を 使 用 します そのコレク ションの 要 素 はTableVectorGroup 型 で この 型 にいくつかの 便 利 なプロパティが 定 義 されています このプロパティの 中 でも 注 目 されるプロパティは ColumnHeaderです このプロパティを 使 用 すると 行 のグループをテーブルヘッダーに 指 定 して それをページまたはページ 列 ごとに 先 頭 に 繰 り 返 し 表 示 できます 関 連 するプロパティはColumnFooterです これを 使 用 す ると 行 のグループをテーブルフッターに 指 定 して それをページまたはページ 列 ごとに 末 尾 に 繰 り 返 し 表 示 できます 次 のコードは テーブルの 最 初 の2 行 をテーブルヘッダーに 指 定 して それをページ 区 切 りまたは 列 区 切 りの 後 に 繰 り 返 し 表 示 する 方 法 を 示 します(rt1 は RenderTable オブジェクト) コードの 書 き 方 rt1.rowgroups(0, 2).Header = C1.C1Preview.TableHeaderEnum.Page コードの 書 き 方 rt1.rowgroups[0, 2].Header = C1.C1Preview.TableHeaderEnum.Page; 上 に 示 したように TableVectorGroupCollection クラスのインデクサは2つの 整 数 を 受 け 取 ります 最 初 の 値 は グループ 153 Copyright GrapeCity inc. All rights reserved.

155 に 含 まれる 最 初 の 行 のインデックスです( 上 のサンプルでは0) 2 番 目 の 値 は グループ 内 の 行 数 です( 上 のサンプルでは 2) 列 のグループにアクセスするには ColGroups コレクションを 使 用 する 必 要 があります これは 行 グループのコレクション (TableVectorGroupCollection)と 同 じ 型 で 同 じ 機 能 を 提 供 します 特 に 注 目 される 点 は 列 のグループを 垂 直 方 向 のテー ブルヘッダーまたはテーブルフッターに 指 定 する 機 能 です C1PrintDocument は 水 平 方 向 (または 拡 張 )ページをサ ポートします これを 使 用 すると 広 いオブジェクトを 水 平 方 向 の 複 数 のページにまたがって 表 示 できます オブジェクト(テーブ ルなど)を 水 平 方 向 の 複 数 のページにまたがって 表 示 するには SplitHorzBehavior を true に 設 定 します オブジェクトの 幅 がページ 幅 より 広 い 場 合 は 複 数 の 水 平 方 向 ページに 分 割 されます 特 に この 方 法 で 広 いテーブルを 分 割 することができま す 列 のグループを 各 ページの 左 端 に 沿 って 繰 り 返 し 表 示 するには グループの ColumnHeader プロパティを true に 設 定 します 列 のグループを 各 ページの 右 端 に 沿 って 繰 り 返 し 表 示 するには グループの ColumnFooter プロパティを true に 設 定 します メモ:テーブルの 任 意 の 行 (または 列 )のグループをフッターに 割 り 当 てることができますが 通 常 は テーブルの 最 後 の 何 行 (または 列 )かをフッターグループに 入 れます これで フッターが 通 常 のフッターとして 動 作 するようになります つ まり フッターは 各 ページの 下 部 (または 右 端 )にだけ 表 示 され さらにテーブルの 最 後 にも 表 示 されます たとえば テーブルの 最 初 の 行 をフッターに 指 定 すると テーブルの 先 頭 にも 表 示 され テーブルの 最 後 には 表 示 されなくなりま す 次 のコード 例 では 100 行 10 列 のテーブルを 作 成 し テーブルの 幅 を 自 動 に 設 定 します さらに 各 列 の 幅 を 明 示 的 に1イン チに 設 定 し 水 平 方 向 および 垂 直 方 向 のテーブルヘッダーとテーブルフッターも 割 り 当 てます コードの 書 き 方 'テーブルを 作 成 し 内 容 を 挿 入 します Dim rt1 As C1.C1Preview.RenderTable = New C1.C1Preview.RenderTable() Dim row As Integer = 0 Dim col As Integer Do While (row < 100) col = 0 Do While (col < 6) rt1.cells(row, col).text = String.Format("Text in cell({0}, {1})", row, col) col += 1 Loop row += 1 Loop ' テーブルと 列 の 幅 を 設 定 します rt1.width = C1.C1Preview.Unit.Auto col = 0 Do While (col < 6) rt1.cols(col).width = "1in" col += 1 Loop ' 最 初 の2 行 をヘッダーとして 割 り 当 てます 背 景 を 設 定 します rt1.rowgroups(0, 2).PageHeader = True rt1.rowgroups(0, 2).Style.BackColor = Color.Red ' 最 後 の2 行 をフッターとして 割 り 当 てます 背 景 を 設 定 します rt1.rowgroups(98, 2).PageFooter = True rt1.rowgroups(98, 2).Style.BackColor = Color.Blue 154 Copyright GrapeCity inc. All rights reserved.

156 ' 最 初 の 列 をヘッダーとして 割 り 当 てます rt1.colgroups(0, 1).PageHeader = True rt1.colgroups(0, 1).Style.BackColor = Color.BlueViolet ' 最 後 の 列 をフッターとして 割 り 当 てます rt1.colgroups(5, 1).PageFooter = True rt1.colgroups(5, 1).Style.BackColor = Color.BurlyWood コードの 書 き 方 // テーブルを 作 成 し 内 容 を 挿 入 します RenderTable rt1 = new RenderTable(); for (int row = 0; row < 100; ++row) { for (int col = 0; col < 6; ++col) { rt1.cells[row, col].text = string.format("text in cell({0}, {1})", row, col); } } // テーブルと 列 の 幅 を 設 定 します rt1.width = Unit.Auto; for (int col = 0; col < 6; ++col) { rt1.cols[col].width = "1in"; } // 最 初 の2 行 をヘッダーとして 割 り 当 てます 背 景 を 設 定 します rt1.rowgroups[0, 2].PageHeader = true; rt1.rowgroups[0, 2].Style.BackColor = Color.Red; // 最 後 の2 行 をフッターとして 割 り 当 てます 背 景 を 設 定 します rt1.rowgroups[98, 2].PageFooter = true; rt1.rowgroups[98, 2]. Style.BackColor = Color.Blue; // 最 初 の 列 をヘッダーとして 割 り 当 てます rt1.colgroups[0, 1].PageHeader = true; rt1.colgroups[0, 1].Style.BackColor = Color.BlueViolet; // 最 後 の 列 をフッターとして 割 り 当 てます rt1.colgroups[5, 1].PageFooter = true; rt1.colgroups[5, 1].Style.BackColor = Color.BurlyWood; このサンプルでは 背 景 色 を 使 って 行 グループと 列 グループを 強 調 表 示 しています ユーザーセルグループ セルは 離 れていてもグループにまとめることができます これで 1つのコマンドで 簡 単 にグループ 内 のすべてのセルにスタ イルを 設 定 できます ユーザーセルグループを 定 義 するには 次 の 手 順 に 従 います 1. UserCellGroup 型 のオブジェクトを 作 成 します このクラスには いくつかのオーバーロードコンストラクタがあり これ 155 Copyright GrapeCity inc. All rights reserved.

157 を 使 用 して グループに 入 れるセルの 座 標 を 指 定 できます すべてのセルをコンストラクタでグループに 追 加 する 必 要 があります 2. 作 成 した UserCellGroup オブジェクトをテーブルのUserCellGroups コレクションに 追 加 します 3. これで グループにスタイルを 設 定 できます スタイルの 設 定 はグループ 内 のすべてのセルに 影 響 します テーブル 内 のスタイル テーブルのセル 列 および 行 は 表 示 オブジェクトではありませんが(これらは RenderObject クラスから 派 生 しません) 表 示 オブジェクトのプロパティに 類 似 したいくつかのプロパティを 備 えています 特 に すべてに Style プロパティが 用 意 されてい ます スタイルの 操 作 は 対 応 する 要 素 とそのすべてのコンテンツに 影 響 を 与 えます 行 のスタイルの 設 定 は その 行 内 のすべての セルに 影 響 を 与 えます 列 のスタイルの 設 定 は その 列 内 のすべてのセルに 影 響 を 与 えます 行 と 列 の 交 点 にあるセルのス タイルは 行 と 列 に 指 定 されたスタイルの 組 み 合 わせになります 行 と 列 の 両 方 に 同 じスタイルプロパティが 設 定 されている 場 合 列 が 優 先 します さらに グループ( 行 のグループ 列 のグループ およびユーザーのセルグループ)のすべてが 独 自 のスタイルを 持 ち セル 内 のデータの 表 示 とテーブルの 行 と 列 の 表 示 にも 影 響 を 与 えます 以 下 のルールは テーブル 内 のスタイルのアプリケーションを 制 御 します アンビエントスタイルプロパティは 幾 何 学 的 な 包 含 に 基 づいて テーブル 要 素 (テーブル 全 体 行 と 列 のグループ セルの グループ 個 別 の 行 とセル および 個 別 のセル)を 下 方 に 伝 播 します この 動 作 は アンビエントスタイルプロパティがテーブル の 外 部 にある 表 示 オブジェクトの 包 含 を 下 方 に 伝 播 する 方 法 に 似 ています アンビエントスタイルプロパティは セルのコンテナの 要 素 に 影 響 を 与 えることなく これらのコンテンツに 影 響 を 与 えます たと えば テーブル 全 体 のスタイルにフォントを 設 定 すると 下 位 レベルにフォントが 明 示 的 に 設 定 されていないかぎり そのテー ブル 内 のすべてのテキストに 影 響 を 与 えます 同 様 に そのテーブル 内 の 行 のスタイルにフォントを 設 定 すると その 行 内 の すべてのセルに 影 響 を 与 えます 関 連 する 複 数 のテーブル 要 素 で 特 定 のアンビエントプロパティを 変 更 する 場 合 以 下 の 優 先 順 位 が 使 用 して セルの 表 示 に 使 用 するプロパティの 実 効 値 が 計 算 されます セル 自 体 のスタイル( 最 も 高 い 優 先 順 位 ) UserCellGroup スタイル(セルが 含 まれている 場 合 ) 列 のスタイル 列 グループのスタイル( 存 在 する 場 合 ) 行 のスタイル 行 グループのスタイル( 存 在 する 場 合 ) テーブルのスタイル( 最 も 低 い 優 先 順 位 ) 上 記 にリストしたテーブル 要 素 のスタイルに 設 定 された 非 アンビエントプロパティ(テーブル 全 体 行 列 とセルのグループ 行 列 とセル)は これらの 要 素 (テーブル 全 体 を 除 き)が 表 示 オブジェクトでない 場 合 でも セルのコンテンツに 影 響 を 与 えるこ となく これらの 要 素 そのものに 適 用 されます たとえば テーブル 内 の 行 の 周 囲 に 枠 線 を 表 示 するには 行 の Style.Borders を 希 望 する 値 に 設 定 します テーブル 内 のすべてのセルに 非 アンビエントプロパティを 設 定 するには RenderTable.CellStyle を 使 用 します スタイルが 指 定 されると そのスタイルはセル 内 の 表 示 オブジェクトのスタイルの 親 として 有 効 に 使 用 されます また CellStyle プロパティが 行 列 およびテーブル 要 素 のグループに 対 して 定 義 され 指 定 された 場 合 これらのスタイル のすべてがセル 内 のオブジェクトの 非 アンビエントプロパティに 影 響 を 与 えます たとえば テーブル 内 のすべてのセルの 背 景 画 像 を 設 定 するには テーブルの CellStyle.BackgroundImage を 設 定 します この 操 作 は テーブル 内 のすべてのセルの 画 像 を 繰 り 返 す 他 同 じ 画 像 をテーブルの Style.BackgroundImage に 割 り 当 てることで その 画 像 をテーブル 全 体 の 背 景 とします( 相 違 は それぞれの 場 合 の 画 像 を 引 き 伸 ばせば 明 らかになります) アンカーとハイパーリンク C1Preview はハイパーリンクをサポートします ハイパーリンクは 描 画 オブジェクト(RenderObject と 派 生 クラス)および 段 落 オブジェクト(ParagraphObjectと 派 生 クラス)にアタッチされ 次 の 要 素 にリンクできます 156 Copyright GrapeCity inc. All rights reserved.

158 現 在 のドキュメント 内 のアンカー 別 のC1PrintDocument 内 のアンカー 現 在 のドキュメント 内 の 場 所 外 部 ファイル 現 在 のドキュメント 内 のページ ユーザーイベント ハイパーリンクは C1.Win.C1Preview アセンブリに 含 まれるプレビューコントロール(C1PreviewPane C1PrintPreviewControl C1PrintPreviewDialog)によってサポートされます ハイパーリンクを 含 むドキュメントをプレ ビューし マウスポインタをハイパーリンクの 上 に 置 くと カーソルが 手 の 形 に 変 わります ハイパーリンクをクリックすると リン クのターゲットに 基 づいて ドキュメント 内 の 別 の 場 所 にジャンプするか 別 のドキュメントを 開 き そのドキュメント 内 の 場 所 に ジャンプします または 外 部 ファイルを 開 いたり ユーザーイベントを 起 動 します メモ: 次 のトピック 内 のサンプルコードは using C1.C1Preview ディレクティブ( の 場 合 他 の 言 語 の 場 合 は 相 当 する 構 文 )がファイルに 挿 入 されていることを 前 提 としています したがって 完 全 修 飾 された 型 名 (C1.C1Preview.RenderText など)ではなく クラス 名 部 分 (RenderText)だけを 使 用 します 同 じドキュメント 内 のアンカーへのハイパーリンクを 追 加 する ドキュメントの 一 部 分 を 別 の 部 分 にリンクするには 次 の2つの 作 業 を 行 う 必 要 があります リンク 先 の 場 所 (アンカー アンカー)をマークします その 場 所 へのリンクハイパーリンクをドキュメントの 別 の 部 分 に 追 加 します 複 数 のハイパーリンクが 同 じアンカーをポ イントすることができます 描 画 オブジェクトにアンカーを 作 成 するには その 描 画 オブジェクトの Anchorsコレクションに C1Anchor 型 の 要 素 を 追 加 しま す たとえば rt が RenderTableである 場 合 は 次 のように 記 述 できます コードの 書 き 方 rt.anchors.add(new C1.C1Preview.C1Anchor("anchor1")) コードの 書 き 方 rt.anchors.add(new C1Anchor("anchor1")); これで このレンダリングテーブルにanchor1という 名 前 のアンカーが 定 義 されます この 名 前 は アンカーを 参 照 するために 使 用 されます このアンカーに 別 の 描 画 オブジェクト(たとえば RenderText)をリンクするには 次 のように 記 述 します コードの 書 き 方 Dim rtxt As New C1.C1Preview.RenderText() rtxt.text = "Link to anchor1" rtxt.hyperlink = New C1.C1Preview.C1Hyperlink("anchor1") コードの 書 き 方 157 Copyright GrapeCity inc. All rights reserved.

159 RenderText rtxt = new RenderText(); rtxt.text = "Link to anchor1"; rtxt.hyperlink = new C1Hyperlink("anchor1"); もちろん ドキュメントには この 両 方 の 描 画 オブジェクト(アンカーを 含 むオブジェクトとハイパーリンクを 含 むオブジェクト)を 追 加 する 必 要 があります Hyperlink は RenderObject クラスのプロパティで このクラスはすべての 描 画 オブジェクトの 基 本 クラスです したがって 先 ほどの 説 明 とまったく 同 じ 方 法 でプロパティを 設 定 することで すべての 描 画 オブジェクトをハイパーリンクに 変 更 できます 別 のC1PrintDocument 内 のアンカーへのハイパーリンクを 追 加 す る ドキュメント 内 の 場 所 を 別 のドキュメント 内 の 場 所 にリンクするには 以 下 の 作 業 を 行 う 必 要 があります 先 ほど 説 明 したように ターゲットドキュメントにアンカーを 追 加 し そのドキュメントを 生 成 して ディスクに C1D ファイ ルとして 保 存 します プレビューコントロールの[ 保 存 ]ボタンを 使 用 するか コード 内 でドキュメント 自 身 の Save メソッド を 使 用 して ドキュメントを 保 存 します 内 部 リンクを 追 加 する 場 合 と 同 様 の 方 法 で そのアンカーをポイントするリンクを 別 のドキュメントに 追 加 します 異 なる 点 は ターゲットアンカーの 名 前 の 他 に ドキュメントのファイル 名 も 提 供 する 必 要 があることだけです 以 下 に 完 全 なプログラムのコードを 示 します このプログラムは アンカーを 含 むドキュメントを 作 成 し そのドキュメントをディ スクファイル(myDocument1.c1d)に 保 存 します 次 に 別 のドキュメントを 作 成 し そのドキュメントに 最 初 のドキュメント 内 の アンカーへのリンクを 追 加 して プレビューダイアログで2 番 目 のドキュメントを 表 示 します コードの 書 き 方 ' アンカーを 含 むターゲットドキュメントを 作 成 します Dim targetdoc As New C1.C1Preview.C1PrintDocument Dim rt1 As New C1.C1Preview.RenderText("This is anchor1 in mydocument1.") rt1.anchors.add(new C1.C1Preview.C1Anchor("anchor1")) targetdoc.body.children.add(rt1) targetdoc.generate() targetdoc.save("c:\mydocument1.c1d") ' アンカーへのハイパーリンクを 含 むドキュメントを 作 成 します Dim sourcedoc As New C1.C1Preview.C1PrintDocument Dim rt2 As New C1.C1Preview.RenderText("This is hyperlink to mydocument1.") Dim linktarget As C1.C1Preview.C1LinkTarget = New C1.C1Preview.C1LinkTargetExternalAnchor("c:\myDocument1.c1d", "anchor1") rt2.hyperlink = New C1.C1Preview.C1Hyperlink(linkTarget) sourcedoc.body.children.add(rt2) sourcedoc.generate() ' ハイパーリンクを 含 むドキュメントをプレビューで 表 示 します Dim preview As New C1.Win.C1Preview.C1PrintPreviewDialog() preview.document = sourcedoc preview.showdialog() コードの 書 き 方 158 Copyright GrapeCity inc. All rights reserved.

160 // アンカーを 含 むターゲットドキュメントを 作 成 します C1PrintDocument targetdoc = new C1PrintDocument(); RenderText rt1 = new RenderText("This is anchor1 in mydocument1."); rt1.anchors.add(new C1Anchor("anchor1")); targetdoc.body.children.add(rt1); targetdoc.generate(); targetdoc.save(@"c:\mydocument1.c1d"); //アンカーへのハイパーリンクを 含 むドキュメントを 作 成 します C1PrintDocument sourcedoc = new C1PrintDocument(); RenderText rt2 = new RenderText("This is hyperlink to mydocument1."); C1LinkTarget linktarget = new C1LinkTargetExternalAnchor(@"c:\myDocument1.c1d", "anchor1"); rt2.hyperlink = new C1Hyperlink(linkTarget); sourcedoc.body.children.add(rt2); sourcedoc.generate(); // ハイパーリンクを 含 むドキュメントをプレビューで 表 示 します C1PrintPreviewDialog preview = new C1PrintPreviewDialog(); preview.document = sourcedoc; preview.showdialog(); 次 の 点 に 注 意 してください アンカーは 同 じドキュメントの 場 合 と 同 じ 方 法 で 作 成 されます 実 際 に 違 いはありません 1つのアンカーを 同 じドキュ メントと 別 のドキュメントの 両 方 からリンクターゲットにすることもできます ドキュメントを 保 存 するために Save メソッドが 使 用 されます このメソッドは ネイティブなC1PrintDocument 形 式 で ドキュメントを 保 存 します デフォルトの 拡 張 子 は C1D です この 形 式 で 保 存 されたファイルは 後 でC1PrintDocumentオブジェクトにロードして さらに 処 理 を 実 行 したり C1 印 刷 プレビューコントロールを 使 ってプレ ビューすることができます ハイパーリンクを 作 成 する 前 に ハイパーリンクのコンストラクタに 渡 すリンクターゲットオブジェクトを 作 成 する 必 要 が あります C1LinkTarget 基 本 クラスから 派 生 したいくつかのタイプのリンクターゲットがあります 外 部 アンカーの 場 合 は C1LinkTargetExternalAnchor 型 を 使 用 します リンクターゲットには リンクへのジャンプを 処 理 するために 必 要 な 情 報 が 含 まれます この 例 では ドキュメントのファイル 名 とアンカー 名 が 含 まれます 現 在 のドキュメント 内 の 場 所 へのハイパーリンクを 追 加 する アンカーを 作 成 しなくても 現 在 のドキュメント 内 のオブジェクトへのリンクを 追 加 できます アンカーを 作 成 する 代 わりに 次 の ように 描 画 オブジェクト 上 に 直 接 作 成 される C1LinkTargetDocumentLocation リンクターゲットを 使 用 します コードの 書 き 方 Dim linktarget = New C1.C1Preview.C1LinkTargetDocumentLocation(ro1) コードの 書 き 方 C1LinkTarget linktarget = new C1LinkTargetDocumentLocation(ro1); ro1 は 現 在 のドキュメント 内 の 任 意 の 描 画 オブジェクトです ハイパーリンクにこのリンクターゲットを 設 定 した 場 合 そのハイ パーリンクを 所 有 するオブジェクトがクリックされると ハイパーリンクは 指 定 された 描 画 オブジェクトにジャンプします たとえ 159 Copyright GrapeCity inc. All rights reserved.

161 ば ハイパーリンクに 変 換 する 描 画 オブジェクトを ro2 とすると 次 のコードは このオブジェクトを ro1 の 場 所 にリンクしま す ro1 は 上 のコードで 示 したように linktarget が 設 定 された 場 所 です コードの 書 き 方 rt2.hyperlink = New C1.C1Preview.C1Hyperlink() rt2.hyperlink.linktarget = linktarget コードの 書 き 方 rt2.hyperlink = new C1Hyperlink(); rt2.hyperlink.linktarget = linktarget; この 例 では ハイパーリンクの, LinkTarget プロパティがハイパーリンクの 作 成 後 に 設 定 されていることに 注 意 してください 外 部 ファイルへのハイパーリンクを 追 加 する 外 部 ファイルへのハイパーリンクは リンクターゲットに 基 づく 外 部 アンカーへのリンクとは 異 なります 外 部 ファイル 用 のリンク ターゲットクラスは C1LinkTargetFileという 名 前 です このようなリンクをクリックすると Windows シェルを 使 ってファイルが 開 かれます たとえば 前 のセクションのサンプルを 使 用 する 場 合 は 外 部 アンカーリンクターゲットを 作 成 する 行 を 次 の 行 に 置 き 換 えます コードの 書 き 方 Dim linktarget = New C1.C1Preview.C1LinkTargetFile("c:\") コードの 書 き 方 C1LinkTarget linktarget = new C1LinkTargetFile(@"c:\"); このリンクをクリックすると Windows エクスプローラでドライブ C のルートディレクトリが 開 かれます 完 全 なプログラムを 次 に 示 します コードの 書 き 方 ' 外 部 ファイルへのハイパーリンクを 含 むドキュメントを 作 成 します Dim doc As New C1.C1Preview.C1PrintDocument Dim rt As New C1.C1Preview.RenderText("Explore drive C:...") Dim linktarget As C1.C1Preview.C1LinkTarget = New C1.C1Preview.C1LinkTargetFile("c:\") rt.hyperlink = New C1.C1Preview.C1Hyperlink(linkTarget) doc.body.children.add(rt) doc.generate() ' ハイパーリンクを 含 むドキュメントをプレビューで 表 示 します Dim preview As New C1.Win.C1Preview.C1PrintPreviewDialog() preview.document = doc 160 Copyright GrapeCity inc. All rights reserved.

162 preview.showdialog() コードの 書 き 方 // 外 部 ファイルへのハイパーリンクを 含 むドキュメントを 作 成 します C1PrintDocument doc = new C1PrintDocument(); RenderText rt = new RenderText("Explore drive C:..."); C1LinkTarget linktarget = new C1LinkTargetFile(@"c:\"); rt.hyperlink = new C1Hyperlink(linkTarget); doc.body.children.add(rt); doc.generate(); // ハイパーリンクを 含 むドキュメントをプレビューで 表 示 します C1PrintPreviewDialog preview = new C1PrintPreviewDialog(); preview.document = doc; preview.showdialog(); 同 じドキュメント 内 のページへのハイパーリンクを 追 加 する アンカーを 定 義 しなくても C1LinkTargetPage リンクターゲットを 使 用 して 同 じドキュメント 内 の 別 のページへのハイパーリ ンクを 追 加 できます 以 下 のページへのジャンプがサポートされます ドキュメントの 最 初 のページへのジャンプ ドキュメントの 最 後 のページへのジャンプ 前 のページへのジャンプ 次 のページへのジャンプ 絶 対 ページ 番 号 で 指 定 されたページへのジャンプ 現 在 のページに 対 するオフセットで 指 定 されたページへのジャンプ たとえば リンクターゲットからドキュメント 内 の 最 初 のページにジャンプする 場 合 は 次 のコードを 使 用 します コードの 書 き 方 Dim linktarget = New C1.C1Preview.C1LinkTargetPage(C1.C1Preview.PageJumpTypeEnum.First) コードの 書 き 方 C1LinkTarget linktarget = new C1LinkTargetPage(PageJumpTypeEnum.First); ここで PageJumpTypeEnum は ページジャンプのタイプを 指 定 します もちろん 絶 対 または 相 対 ページ 番 号 を 必 要 とする ジャンプの 場 合 は その 数 値 を 受 け 取 るコンストラクタを 使 用 する 必 要 があります この 機 能 を 使 用 すると ドキュメント 自 身 でドキュメント 内 を 移 動 する 簡 単 な 方 法 を 提 供 できます たとえば ビデオデッキのよ うな 操 作 ボタン( 最 初 のページに 移 動 前 のページに 移 動 次 のページに 移 動 最 後 のページに 移 動 )をドキュメントのフッター に 追 加 できます ユーザーイベントへのハイパーリンクを 追 加 する 161 Copyright GrapeCity inc. All rights reserved.

163 最 後 に C1PreviewPaneのイベントを 発 生 させてコードによって 処 理 するためのハイパーリンクを 追 加 します それには C1LinkTargetUser を 使 用 する 必 要 があります この 概 念 を 示 す 完 全 な 例 を 次 に 示 します コードの 書 き 方 Private Sub UserLinkSetup() ' ユーザーハイパーリンクを 含 むドキュメントを 作 成 します Dim doc As New C1.C1Preview.C1PrintDocument Dim rt As New C1.C1Preview.RenderText("Click this to show message box...") Dim linktarget As C1.C1Preview.C1LinkTarget = New C1.C1Preview.C1LinkTargetUser rt.hyperlink = New C1.C1Preview.C1Hyperlink(linkTarget) rt.hyperlink.userdata = "My hyperlnk user data" doc.body.children.add(rt) doc.generate() ' プレビューを 作 成 します Dim preview As New C1.Win.C1Preview.C1PrintPreviewDialog() ' イベントハンドラを UserHyperlinkJump イベントにアタッチします AddHandler preview.previewpane.userhyperlinkjump, New C1.Win.C1Preview.HyperlinkEventHandler(AddressOf Me.C1PreviewPane1_UserHyperlinkJump) ' ドキュメントをプレビューします preview.document = doc preview.showdialog()end Sub Private Sub C1PreviewPane1_UserHyperlinkJump(ByVal sender As Object, ByVal e As C1.Win.C1Preview.HyperlinkEventArgs) Handles C1PreviewPane1.UserHyperlinkJump MessageBox.Show(e.Hyperlink.UserData.ToString()) End Sub コードの 書 き 方 private void UserLinkSetup() { // ユーザーハイパーリンクを 含 むドキュメントを 作 成 します C1PrintDocument doc = new C1PrintDocument(); RenderText rt = new RenderText("Click this to show message box..."); C1LinkTarget linktarget = new C1LinkTargetUser(); rt.hyperlink = new C1Hyperlink(linkTarget); rt.hyperlink.userdata = "My hyperlnk user data"; doc.body.children.add(rt); doc.generate(); // プレビューを 作 成 します C1PrintPreviewDialog preview = new C1PrintPreviewDialog(); //イベントハンドラを UserHyperlinkJump イベントにアタッチします 162 Copyright GrapeCity inc. All rights reserved.

164 preview.previewpane.userhyperlinkjump += new HyperlinkEventHandler(PreviewPane_UserHyperlinkJump); } // ドキュメントをプレビューします preview.document = doc; preview.showdialog(); private void PreviewPane_UserHyperlinkJump(object sender, HyperlinkEventArgs e) { MessageBox.Show(e.Hyperlink.UserData.ToString()); } この 例 では ハイパーリンクがクリックされると ハイパーリンクのUserData プロパティに 割 り 当 てられた 文 字 列 (この 例 では ハイパーリンクのユーザーデータ )を 含 むメッセージボックスが 表 示 されます リンクターゲットクラスの 階 層 ハイパーリンクに 関 するセクションの 最 後 に リンクターゲットクラスの 階 層 を 次 に 示 します クラス 名 C1LinkTarget C1LinkTargetAnchor C1LinkTargetExternalAnchor C1LinkTargetDocumentLocation C1LinkTargetFile C1LinkTargetPage C1LinkTargetUser 詳 細 階 層 全 体 の 基 本 クラス 現 在 のドキュメント 内 のアンカーであるターゲットを 記 述 します 別 のドキュメント 内 のアンカーであるターゲットを 記 述 します 描 画 オブジェクトであるターゲットを 記 述 します OS シェルによって 開 かれる 外 部 ファイルであるターゲットを 記 述 します 現 在 のドキュメント 内 のページであるターゲットを 記 述 します C1PreviewPane のユーザーイベントハンドラを 起 動 するターゲットを 記 述 します 式 スクリプト タグ 式 (またはスクリプト ここでは2つの 用 語 が 同 じ 意 味 で 使 用 されます)は ドキュメントを 通 じて 随 所 に 使 用 されます 式 は 次 のコードに 示 すように 角 括 弧 で 囲 んで 表 されます コードの 書 き 方 Dim doc As New C1PrintDocument() doc.body.children.add(new RenderText("2 + 2 = [2+2]")) コードの 書 き 方 C1PrintDocument doc = new C1PrintDocument(); doc.body.children.add(new RenderText("2 + 2 = [2+2]")); このコードでは 生 成 されるドキュメントに 次 のテキストが 表 示 されます 163 Copyright GrapeCity inc. All rights reserved.

165 2 + 2 = 4 この 場 合 "[2+2]" は 式 として 解 釈 され 計 算 が 行 われて 結 果 として 表 示 されるテキストを 生 成 します 注 意 : 式 パーサーが 角 括 弧 内 のテキストを 解 析 できない 場 合 このテキストは 式 として 解 釈 されず そのまま ドキュメ ント 内 に 挿 入 されます タグ タグは 式 に 密 接 に 関 連 しています 実 際 タグは 式 内 で 使 用 するか または 単 に 式 として 使 用 できる 変 数 です 最 も 単 純 な 場 合 タグにより 特 定 の 文 字 列 を 挿 入 したいが その 文 字 列 の 値 がわからない 場 所 にプレースホルダを 使 用 できます タグの 一 般 的 な 例 は ドキュメントを 再 生 成 するときに ページ 番 号 が 何 ページになるかわからない 場 合 または 変 わる 可 能 性 があ る 場 合 にページ 番 号 を 出 力 する 場 合 です タグには Name と Value の2つの 主 なプロパティがあります 名 前 はタグの 識 別 に 使 用 され 値 はタグが 置 き 換 えられる 内 容 です C1PrintDocument には 定 義 済 みタグとカスタムタグの2 種 類 のタグが 用 意 されています 定 義 済 みタグには 以 下 のもの があります [PageNo] 現 在 のページ 番 号 に 置 き 換 えられます [PageCount] 合 計 ページ 数 に 置 き 換 えられます [PageX] 現 在 の 横 方 向 のページ 番 号 に 置 き 換 えられます [PageXCount] 横 方 向 のページの 合 計 ページ 数 に 置 き 換 えられます [PageY] 現 在 の 縦 方 向 のページ 番 号 に 置 き 換 えられます( 横 方 向 のページが 存 在 しない 場 合 [PageNo] と 同 じで す) [PageYCount] 現 在 の 縦 方 向 のページの 合 計 ページ 数 に 置 き 換 えられます( 横 方 向 のページが 存 在 しない 場 合 [PageCount] と 同 じです) カスタムタグは ドキュメントの Tags コレクションに 格 納 されています このコレクションにタグを 追 加 するには 次 のコードを 使 用 できます コードの 書 き 方 doc.tags.add(new C1.C1Preview.Tag("tag1", "tag value")) コードの 書 き 方 doc.tags.add(new C1.C1Preview.Tag("tag1", "tag value")); タグの 作 成 時 にタグの 値 を 未 指 定 のままにし 後 のある 時 点 で(タグがドキュメント 内 で 使 用 された 後 でも) 指 定 できます タグを 使 用 するには 次 の 例 に 示 すように タグの 値 を 表 示 するテキスト 内 に その 名 前 を 角 括 弧 で 囲 んで 挿 入 します コードの 書 き 方 Dim rt As New C1.C1Preview.RenderText() rt.text = "The value of tag1 will appear here: [tag1]." コードの 書 き 方 164 Copyright GrapeCity inc. All rights reserved.

166 RenderText rt = new RenderText(); rt.text = "The value of tag1 will appear here: [tag1]."; タグ/ 式 の 構 文 必 要 に 応 じて ドキュメントの TagOpenParen および TagCloseParen プロパティを 使 用 して タグまたはスクリプトをテキスト に 取 り 込 むために 使 用 する 角 括 弧 を 任 意 の 文 字 列 に 変 更 できます これは ドキュメントの 多 くの 角 括 弧 を 含 める 場 合 に 役 立 ちます デフォルトでは これらは 結 果 の 表 示 に 影 響 を 与 えない 場 合 でも 多 くのリソースを 消 費 する 可 能 性 のあるすべての 式 の 解 析 を 起 動 します 次 に 例 を 示 します コードの 書 き 方 doc.tagopenparen = "@@@[" doc.tagcloseparen = "@@@]" コードの 書 き 方 doc.tagopenparen = "@@@["; doc.tagcloseparen = "@@@]"; これらの 例 で 囲 まれた 文 字 列 だけが 式 として 解 釈 されます 式 の 括 弧 は 次 の 例 に 示 すように 前 にバックスラッシュ 記 号 を 置 くことによってエスケープすることもできます コードの 書 き 方 Dim doc As New C1PrintDocument() doc.body.children.add(new RenderText("2 + 2 = \[2+2\]")) コードの 書 き 方 C1PrintDocument doc = new C1PrintDocument(); doc.body.children.add(new RenderText("2 + 2 = \[2+2\]")); このコードでは 生 成 されるドキュメントに 次 のテキストが 表 示 されます = [2+2] これは 括 弧 がエスケープされるためです ドキュメントで TagEscapeString プロパティを 使 用 して エスケープ 文 字 列 を 任 意 の 文 字 列 に 変 更 できます 実 行 時 のタグ 値 の 編 集 エンドユーザーがC1PrintDocumentコンポーネントの Tags コレクションに 含 まれているタグのタグ 値 を 表 示 および 編 集 する フォームを 表 示 することができます 複 数 の 新 しいメンバが 特 定 のタグが 表 示 されるカスタマイズされたフォームを 作 成 でき る このオプションをサポートします 作 成 する Tags フォームを 使 用 するいくつかのオプションがあります 以 下 を 実 行 できます 165 Copyright GrapeCity inc. All rights reserved.

167 C1PrintDocument を 生 成 するたびに ユーザーがすべてのタグを 編 集 できるようにします 詳 細 については すべて のタグの 表 示 を 参 照 してください ユーザーがすべてのタグではなく 一 部 のタグを 編 集 できるようにします ユーザーに 編 集 されたくないタグについて は タグの Flags プロパティを None に 設 定 します 最 後 に エンドユーザーが[タグ]ダイアログボックスを 表 示 する 場 合 を 選 択 できます ドキュメント のShowTagsInputDialog を False に 設 定 し ユーザーがタグ 入 力 ダイアログを 表 示 する 必 要 がある 場 合 に 独 自 の コードで EditTags() メソッドを 呼 び 出 します すべてのタグの 表 示 デフォルトでは ShowTagsInputDialog プロパティは False に 設 定 され [タグ]ダイアログボックスは 表 示 されません C1PrintDocument を 生 成 するたびに ユーザーがすべてのタグを 入 力 できるようにするには ドキュメントの ShowTagsInputDialog プロパティを True に 設 定 します ドキュメントの Tags コレクションに 追 加 したタグは ドキュメントを 生 成 しようとするたびに ユーザーのダイアログボックスに 自 動 的 に 表 示 されます この 結 果 エンドユーザーが[タグ]ダイア ログボックスでタグの 値 を 編 集 できるようになります たとえば 次 のコードを Form_Load イベントに 追 加 して これらのタグのドキュメントとテキストの 値 に3つのタグを 追 加 しま す コードの 書 き 方 Dim doc As New C1PrintDocument() Me.C1PrintPreviewControl1.Document = doc ' ドキュメントの 生 成 時 に[タグ]ダイアログボックスを 表 示 します doc.showtagsinputdialog = True ' [タグ]ダイアログボックスに 表 示 されるタグを 作 成 します doc.tags.add(new C1.C1Preview.Tag("Statement", "Hello World!")) doc.tags.add(new C1.C1Preview.Tag("Name", "ComponentOne")) doc.tags.add(new C1.C1Preview.Tag("Location", "Pittsburgh, PA")) ' タグをドキュメントに 追 加 し 生 成 します Dim rt As New C1.C1Preview.RenderText() rt.text = "[Statement] My name is [Name] and my current location is [Location]." doc.body.children.add(rt) doc.generate() コードの 書 き 方 C1PrintDocument doc = new C1PrintDocument(); this.c1printpreviewcontrol1.document = doc; // ドキュメントの 生 成 時 に[タグ]ダイアログボックスを 表 示 します doc.showtagsinputdialog = true; // [タグ]ダイアログボックスに 表 示 されるタグを 作 成 します doc.tags.add(new C1.C1Preview.Tag("Statement", "Hello World!")); doc.tags.add(new C1.C1Preview.Tag("Name", "ComponentOne")); doc.tags.add(new C1.C1Preview.Tag("Location", "Pittsburgh, PA")); // タグをドキュメントに 追 加 し 生 成 します C1.C1Preview.RenderText rt = new C1.C1Preview.RenderText(); rt.text = "[Statement] My name is [Name] and my current location is [Location]."; doc.body.children.add(rt); doc.generate(); 166 Copyright GrapeCity inc. All rights reserved.

168 アプリケーションを 実 行 すると ドキュメントを 生 成 する 前 に 以 下 のダイアログボックスが 表 示 されます [タグ]ダイアログボックスのテキストボックスのいずれかでテキストを 変 更 すると 生 成 されたドキュメントに 表 示 されるテキスト が 変 更 されます デフォルトのテキストがそのまま 残 された 場 合 生 成 されたドキュメントに 以 下 のテキストが 表 示 されます こんにちは! 私 の 名 前 はグレープシティです 私 の 現 在 地 は 仙 台 市 泉 区 紫 山 です 特 定 のタグの 表 示 ShowTagsInputDialog プロパティを True に 設 定 すると デフォルトで すべてのタグが[タグ]ダイアログボックスに 表 示 さ れます Tag.ShowInDialog プロパティを 使 用 して ユーザーが 特 定 のタグを 編 集 できないようにすることができます ユー ザーがすべてのタグではなく 一 部 のタグを 編 集 できるようにするには 編 集 する 必 要 がないタグの Flags プロパティを None に 設 定 します たとえば 次 のコードを Form_Load イベントに 追 加 して 編 集 できないドキュメントのいずれかに3つのタグを 追 加 します コードの 書 き 方 Dim doc As New C1PrintDocument() Me.C1PrintPreviewControl1.Document = doc ' ドキュメントの 生 成 時 に[タグ]ダイアログボックスを 表 示 します doc.showtagsinputdialog = True ' タグを 作 成 し そのタグが[タグ]ダイアログボックスに 表 示 されないようにします doc.tags.add(new C1.C1Preview.Tag(" 発 言 ", "こんにちは!")) doc.tags(" 発 言 ").ShowInDialog = False ' 表 示 されるタグを 作 成 します doc.tags.add(new C1.C1Preview.Tag(" 名 前 ", "グレープシティ")) doc.tags.add(new C1.C1Preview.Tag(" 場 所 ", " 仙 台 市 泉 区 紫 山 ")) ' タグをドキュメントに 追 加 し 生 成 します Dim rt As New C1.C1Preview.RenderText() rt.text = "[ 発 言 ] 私 の 名 前 は [ 名 前 ] です 私 の 現 在 地 は [ 場 所 ] です " doc.body.children.add(rt) doc.generate() コードの 書 き 方 C1PrintDocument doc = new C1PrintDocument(); this.c1printpreviewcontrol1.document = doc; //ドキュメントの 生 成 時 に[タグ]ダイアログボックスを 表 示 します doc.showtagsinputdialog = true; // タグを 作 成 し そのタグが[タグ]ダイアログボックスに 表 示 されないようにします doc.tags.add(new C1.C1Preview.Tag(" 発 言 ", "こんにちは!")); doc.tags[" 発 言 "].ShowInDialog = false; // 表 示 されるタグを 作 成 します doc.tags.add(new C1.C1Preview.Tag(" 名 前 ", "グレープシティ")); 167 Copyright GrapeCity inc. All rights reserved.

169 doc.tags.add(new C1.C1Preview.Tag(" 場 所 ", " 仙 台 市 泉 区 紫 山 ")); // タグをドキュメントに 追 加 し 生 成 します C1.C1Preview.RenderText rt = new C1.C1Preview.RenderText(); rt.text = "[ 発 言 ] 私 の 名 前 は [ 名 前 ] です 私 の 現 在 地 は [ 場 所 ] です "; doc.body.children.add(rt); doc.generate(); アプリケーションを 実 行 すると ドキュメントを 生 成 する 前 に 以 下 のダイアログボックスが 表 示 されます [タグ]ダイアログボックスのテキストボックスのいずれかでテキストを 変 更 すると 生 成 されたドキュメントに 表 示 されるテキスト が 変 更 されます Statement タグは 表 示 されず ダイアログボックスで 変 更 できないことに 注 意 してください デフォルトのテキ ストがそのまま 残 された 場 合 生 成 されたドキュメントに 以 下 のテキストが 表 示 されます こんにちは! 私 の 名 前 は グレープシティ です 私 の 現 在 地 は 仙 台 市 泉 区 紫 山 です [タグ]ダイアログボックスを 表 示 する 場 合 の 指 定 ShowTagsInputDialogプロパティを True に 設 定 すると ドキュメントを 生 成 する 直 前 に[タグ]ダイアログボックスが 表 示 され ます EditTags メソッドを 呼 び 出 すことで 必 要 なときは(ShowTagsInputDialog プロパティの 値 に 関 係 なく)いつでも プロ グラム 操 作 によって このダイアログボックスを 表 示 できます たとえば 次 のコードは ボタンをクリックしたときに タグ 入 力 ダイアログボックスを 表 示 します コードの 書 き 方 Public Class Form1 Dim doc As New C1PrintDocument() Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.C1PrintPreviewControl1.Document = doc ' 表 示 されるタグを 作 成 します doc.tags.add(new C1.C1Preview.Tag("Statement", "Hello World!")) doc.tags("statement").showindialog = True doc.tags.add(new C1.C1Preview.Tag("Name", "ComponentOne")) doc.tags.add(new C1.C1Preview.Tag("Location", "Pittsburgh, PA")) ' タグをドキュメントに 追 加 します Dim rt As New C1.C1Preview.RenderText() rt.text = "[Statement] My name is [Name] and my current location is [Location]." doc.body.children.add(rt) End Sub Private Sub EditTagsNow_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EditTagsNow.Click ' ボタンのクリックにより[タグ]ダイアログボックスを 表 示 します doc.showtagsinputdialog = True doc.edittags() End Sub Private Sub GenerateDocNow_Click(ByVal sender As System.Object, ByVal e As 168 Copyright GrapeCity inc. All rights reserved.

170 System.EventArgs) Handles GenerateDocNow.Click doc.showtagsinputdialog = False ' ボタンのクリックによりドキュメントを 生 成 します doc.generate() End Sub End Class コードの 書 き 方 public partial class Form1 : Form { public Form1() { InitializeComponent(); } C1PrintDocument doc = new C1PrintDocument(); private void Form1_Load(object sender, EventArgs e) { this.c1printpreviewcontrol1.document = doc; // 表 示 されるタグを 作 成 します doc.tags.add(new C1.C1Preview.Tag("Statement", "Hello World!")); doc.tags["statement"].showindialog = true; doc.tags.add(new C1.C1Preview.Tag("Name", "ComponentOne")); doc.tags.add(new C1.C1Preview.Tag("Location", "Pittsburgh, PA")); // タグをドキュメントに 追 加 します C1.C1Preview.RenderText rt = new C1.C1Preview.RenderText(); rt.text = "[Statement] My name is [Name] and my current location is [Location]."; doc.body.children.add(rt); } private void EditTagsNow_Click(object sender, EventArgs e) { // ボタンのクリックにより[タグ]ダイアログボックスを 表 示 します doc.showtagsinputdialog = true; doc.edittags(); } private void GenerateDoc_Click(object sender, EventArgs e) { doc.showtagsinputdialog = false; // ボタンのクリックによりドキュメントを 生 成 します doc.generate(); } } 上 記 の 例 では EditTagsNow ボタンをクリックすると [タグ]ダイアログボックスが 表 示 されます デフォルトの[タグ]ダイアログボックスの 定 義 TagsInputForm または TagsInputFormBase のいずれかに 基 づくプロジェクトに 継 承 されたフォームを 追 加 することで [タ グ]ダイアログボックスを 簡 単 にカスタマイズできます フォームに 小 規 模 な 変 更 を 加 えるか フォームを 完 全 に 再 設 計 するか 169 Copyright GrapeCity inc. All rights reserved.

171 によって 対 応 する 方 法 が 異 なります 小 規 模 な 変 更 を 加 える 場 合 デフォルトのフォームに 小 規 模 な 変 更 を 加 えるだけの 場 合 ( ヘルプ ボタンを 追 加 する 場 合 など) TagsInputForm に 基 づく プロジェクトに 継 承 されたフォームを 追 加 し 必 要 に 応 じて 調 整 して そのフォームの 型 名 をドキュメント の TagsInputDialogClassName プロパティに 割 り 当 てることができます たとえば 次 のフォームでは キャプションバーに ヘルプ ボタンが 追 加 され フォームの 背 景 色 が 変 更 されました フォームを 完 全 に 変 更 する 場 合 希 望 する 場 合 デフォルトのフォームを 完 全 に 変 更 することができます たとえば 独 自 のコントロールを 用 意 したり タグの 値 を 入 力 したりできます これを 行 うには TagsInputFormBase の 継 承 されたフォームに 基 づき 必 要 に 応 じて 変 更 し EditTags メソッドをオーバーライドします スクリプト/ 式 の 言 語 式 で 使 用 する 言 語 は C1PrintDocument.ScriptingOptions.Language プロパティの 値 によって 決 まります このプロパティ は 以 下 の2つの 値 のいずれかを 持 つことができます VB これはデフォルト 値 で 標 準 VB がスクリプト 言 語 として 使 用 されることを 示 します C1Report この 値 は C1Report スクリプト 言 語 が 使 用 されることを 示 します この 言 語 は VB に 似 ていますが わず かな 違 いがあります このオプションは 主 として 後 方 互 換 性 を 提 供 します CSharp この 値 は 標 準 がスクリプト 言 語 として 使 用 されることを 示 します VB が 式 言 語 として 使 用 される 場 合 ドキュメントを 生 成 すると ScriptExpressionBase から 派 生 した 単 一 クラスを 含 む 各 式 に 対 して 別 個 のアセンブリが 内 部 的 にビルドされます このクラスには 式 に 使 用 できる 保 護 されたプロパティが 含 まれていま す 式 自 体 は このクラスの 関 数 として 実 装 されます たとえば コードの 書 き 方 Dim doc As New C1PrintDocument() doc.scriptingoptions.language = ScriptLanguageEnum.CSharp Dim rt As New RenderText("[PageNo == 1? ""First"" : ""Not first""]") doc.body.children.add(rt) コードの 書 き 方 C1PrintDocument doc = new C1PrintDocument(); doc.scriptingoptions.language = ScriptLanguageEnum.CSharp; RenderText rt = new RenderText("[PageNo == 1? \"First\" : \"Not first\"]"); doc.body.children.add(rt); 170 Copyright GrapeCity inc. All rights reserved.

172 アセンブリと 名 前 空 間 デフォルトでは 以 下 のアセンブリがスクリプトに 使 用 ( 参 照 ) 可 能 です System System.Drawing スクリプトで 参 照 されるアセンブリのリストに 別 の(システムまたはカスタム)アセンブリを 追 加 するには それをドキュメントの C1PrintDocument.ScriptingOptions.ExternalAssemblies コレクションに 追 加 します たとえば 次 のコード は System.Data アセンブリへの 参 照 をドキュメントのスクリプトに 追 加 します コードの 書 き 方 Dim doc As New C1PrintDocument() doc.scriptingoptions.externalassemblies.add("system.data.dll") コードの 書 き 方 C1PrintDocument doc = new C1PrintDocument(); doc.scriptingoptions.externalassemblies.add("system.data.dll"); 以 下 の 名 前 空 間 は デフォルトでスクリプトに 使 用 (インポート) 可 能 です System System.Collections System.Collections.Generic System.Text Microsoft.VisualBasic System.Drawing 名 前 空 間 を 追 加 するには それをドキュメントの C1PrintDocument.ScriptingOptions.Namespaces コレクションに 追 加 し ます たとえば ドキュメントのスクリプト 内 の System.Data 名 前 空 間 で 宣 言 された 型 を 名 前 空 間 によって 完 全 修 飾 すること なく 使 用 することができます コードの 書 き 方 Dim doc As New C1PrintDocument() doc.scriptingoptions. Namespaces.Add("System.Data") コードの 書 き 方 C1PrintDocument doc = new C1PrintDocument(); doc.scriptingoptions. Namespaces.Add("System.Data"); テキスト 式 でアクセス 可 能 な ID 前 述 のとおり 括 弧 内 の 式 は RenderText およびParagraphText オブジェクトの Text プロパティ 内 で 使 用 できます これら の 式 では 以 下 のオブジェクト ID を 使 用 できます 171 Copyright GrapeCity inc. All rights reserved.

173 Document (C1PrintDocument 型 ) この 変 数 は 生 成 されるドキュメントを 参 照 します これは 多 くの 方 法 で 使 用 できます たとえば 次 のコードは 現 在 のドキュメントの 作 成 者 を 出 力 します コードの 書 き 方 Dim doc As New C1PrintDocument() Dim rt As New RenderText("Landscape is " + _ "[Iif(Page.PageSettings.Landscape,\"TRUE\",\"FALSE\")].") doc.body.children.add(rt) コードの 書 き 方 C1PrintDocument doc = new C1PrintDocument(); RenderText rt = new RenderText("Landscape is " + "[Iif(Page.PageSettings.Landscape,\"TRUE\",\"FALSE\")]."); doc.body.children.add(rt); RenderObject (RenderObject 型 ) この 変 数 は 現 在 の 表 示 オブジェクトを 参 照 します たとえば 次 のコードは 現 在 の 表 示 オブジェクトの 名 前 を 出 力 し ます コードの 書 き 方 Dim doc As New C1PrintDocument() Dim rt As New RenderText( _ "The object's name is [RenderObject.Name]") rt.name = "MyRenderText" doc.body.children.add(rt) コードの 書 き 方 C1PrintDocument doc = new C1PrintDocument(); RenderText rt = new RenderText( "The object's name is [RenderObject.Name]"); rt.name = "MyRenderText"; doc.body.children.add(rt); Page (C1Page 型 ) この 変 数 は 現 在 のページ(C1Page 型 のオブジェクト)を 参 照 します ページオブジェクトのスクリプトメンバで 最 もよく 使 用 される 変 数 には 直 接 アクセスできますが( 後 述 の PageNo PageCount などを 参 照 してください) 現 在 のページ 設 定 など Page 変 数 を 介 してアクセスできる 他 のデータがあります たとえば 次 のコードは 現 在 のページレイアウト が 横 長 の 向 きの 場 合 Landscape is TRUE を 出 力 し それ 以 外 の 場 合 Landscape is FALSE を 返 します コードの 書 き 方 Dim doc As New C1PrintDocument() 172 Copyright GrapeCity inc. All rights reserved.

174 Dim rt As New RenderText("Landscape is " + _ "[Iif(Page.PageSettings.Landscape,\"TRUE\",\"FALSE\")].") doc.body.children.add(rt) コードの 書 き 方 C1PrintDocument doc = new C1PrintDocument(); RenderText rt = new RenderText("Landscape is " + "[Iif(Page.PageSettings.Landscape,\"TRUE\",\"FALSE\")]."); doc.body.children.add(rt); PageNo (Integer 型 ) この 名 前 は 現 在 のページ 番 号 を1ページ 単 位 で 解 決 します Page.PageNo と 同 等 です PageCount (Integer 型 ) この 名 前 は ドキュメントの 合 計 ページ 数 を 解 決 します Page.PageCount と 同 等 です たとえば 次 のコードは 一 般 的 な Page X of Y ページヘッダーの 生 成 に 使 用 できます コードの 書 き 方 Dim doc As New C1PrintDocument() doc.pagelayout.pageheader = New RenderText( _ "Page [PageNo] of [PageCount]") コードの 書 き 方 C1PrintDocument doc = new C1PrintDocument(); doc.pagelayout.pageheader = new RenderText( "Page [PageNo] of [PageCount]"); PageX (Integer 型 ) この 名 前 は 現 在 の 横 方 向 のページ 番 号 を1ページ 単 位 で 解 決 します( 横 方 向 の 改 ページがないドキュメントの 場 合 1 を 返 します) PageY (Integer 型 ) この 名 前 は 現 在 の 縦 方 向 のページ 番 号 を1ページ 単 位 で 解 決 します( 縦 方 向 の 改 ページがないドキュメントの 場 合 PageNo と 同 等 です) PageXCount (Integer 型 ) この 名 前 は ドキュメントの 合 計 ページ 数 を 解 決 します( 横 方 向 の 改 ページがないドキュメントの 場 合 1 を 返 します) PageYCount (Integer 型 ) この 名 前 は ドキュメントの 合 計 ページ 数 を 解 決 します( 横 方 向 の 改 ページがないドキュメントの 場 合 PageCount と 同 等 です) ここで 説 明 するページ 番 号 に 関 連 するどの 変 数 も 必 ずしもページヘッダーやページフッターに 限 らず ド キュメント 内 の 任 意 の 場 所 で 使 用 できることに 注 意 することが 重 要 です Fields (FieldCollection 型 ) この 変 数 は 使 用 可 能 なデータベースフィールドのコレクションを 参 照 173 Copyright GrapeCity inc. All rights reserved.

175 し C1.C1Preview.DataBinding.FieldCollection 型 を 持 ちます データがバインドされたドキュメントでのみ 使 用 でき ます たとえば 次 のコードは NWIND データベースの Products テーブルに 含 まれる 商 品 名 のリストを 出 力 します コードの 書 き 方 Dim doc As New C1PrintDocument() Dim dsrc As New DataSource() dsrc.connectionproperties.dataprovider = DataProviderEnum.OLEDB dsrc.connectionproperties.connectstring = _ "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=NWIND.MDB" Dim dset1 As New C1.C1Preview.DataBinding.DataSet( _ dsrc, "select * from Products") doc.dataschema.datasources.add(dsrc) doc.dataschema.datasets.add(dset1) Dim rt As New RenderText() rt.databinding.datasource = dset1 rt.text = "[Fields!ProductName.Value]" doc.body.children.add(rt) コードの 書 き 方 C1PrintDocument doc = new C1PrintDocument(); DataSource dsrc = new DataSource(); dsrc.connectionproperties.dataprovider = DataProviderEnum.OLEDB; dsrc.connectionproperties.connectstring Source=NWIND.MDB"; C1.C1Preview.DataBinding.DataSet dset1 = new C1.C1Preview.DataBinding.DataSet(dSrc, "select * from Products"); doc.dataschema.datasources.add(dsrc); doc.dataschema.datasets.add(dset1); RenderText rt = new RenderText(); doc.body.children.add(rt); rt.databinding.datasource = dset1; rt.text = "[Fields!ProductName.Value]"; 最 終 行 でフィールド 配 列 の 要 素 にアクセスするための! の 使 用 に 注 意 してください 代 わりに 次 のように 記 述 できま す コードの 書 き 方 rt.text = "[Fields(\"ProductName\").Value]" コードの 書 き 方 rt.text = "[Fields(\"ProductName\").Value]"; ただし! を 使 用 する 表 記 の 方 が 短 くて 読 みやすくなります 174 Copyright GrapeCity inc. All rights reserved.

176 Aggregates (AggregateCollection 型 ) この 変 数 を 使 用 して ドキュメントで 定 義 された 集 計 のコレクションにアクセスできます このコレクション は C1.C1Preview.DataBinding.AggregateCollection 型 を 持 ち その 要 素 は C1Preview.DataBinding.Aggregate 型 を 持 ちます たとえば 次 のコードは 商 品 のリストの 後 に 平 均 単 価 を 出 力 し ます コードの 書 き 方 Dim doc As New C1PrintDocument() Dim dsrc As New DataSource() dsrc.connectionproperties.dataprovider = DataProviderEnum.OLEDB dsrc.connectionproperties.connectstring = _ "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=NWIND.MDB" C1.C1Preview.DataBinding.DataSet dset1 = _ new C1.C1Preview.DataBinding.DataSet(dSrc, _ "select * from Products") doc.dataschema.datasources.add(dsrc) doc.dataschema.datasets.add(dset1) Dim rt As New RenderText() doc.body.children.add(rt) rt.databinding.datasource = dset1 rt.text = "[Fields!ProductName.Value]" doc.dataschema.aggregates.add(new Aggregate( _ "AveragePrice", "Fields!UnitPrice.Value", _ rt.databinding, RunningEnum.Document, _ AggregateFuncEnum.Average)) doc.body.children.add(new RenderText( _ "Average price: [Aggregates!AveragePrice.Value]")) コードの 書 き 方 C1PrintDocument doc = new C1PrintDocument(); DataSource dsrc = new DataSource(); dsrc.connectionproperties.dataprovider = DataProviderEnum.OLEDB; dsrc.connectionproperties.connectstring Source=NWIND.MDB"; C1.C1Preview.DataBinding.DataSet dset1 = new C1.C1Preview.DataBinding.DataSet(dSrc, "select * from Products"); doc.dataschema.datasources.add(dsrc); doc.dataschema.datasets.add(dset1); RenderText rt = new RenderText(); doc.body.children.add(rt); rt.databinding.datasource = dset1; rt.text = "[Fields!ProductName.Value]"; doc.dataschema.aggregates.add(new Aggregate( "AveragePrice", "Fields!UnitPrice.Value", rt.databinding, RunningEnum.Document, AggregateFuncEnum.Average)); doc.body.children.add(new RenderText( "Average price: [Aggregates!AveragePrice.Value]")); 175 Copyright GrapeCity inc. All rights reserved.

177 DataBinding (C1DataBinding 型 ) この 変 数 を 使 用 して C1.C1Preview.DataBinding.C1DataBinding 型 の 現 在 の 表 示 オブジェクトの DataBinding プロパティにアクセスできます たとえば 次 のコード(Fields 変 数 の 使 用 を 示 すサンプルから 変 更 されました)は テキ スト 式 内 で 表 示 オブジェクトの DataBinding プロパティの RowNumber メンバを 使 用 して 商 品 の 番 号 付 きリストを 生 成 します コードの 書 き 方 Dim doc As New C1PrintDocument() Dim dsrc As New DataSource() dsrc.connectionproperties.dataprovider = DataProviderEnum.OLEDB dsrc.connectionproperties.connectstring = _ "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=NWIND.MDB" C1.C1Preview.DataBinding.DataSet dset1 = _ new C1.C1Preview.DataBinding.DataSet(dSrc, _ "select * from Products") doc.dataschema.datasources.add(dsrc) doc.dataschema.datasets.add(dset1) Dim rt As New RenderText() rt.databinding.datasource = dset1 rt.text = "[DataBinding.RowNumber]: [Fields!ProductName.Value]" doc.body.children.add(rt) コードの 書 き 方 C1PrintDocument doc = new C1PrintDocument(); DataSource dsrc = new DataSource(); dsrc.connectionproperties.dataprovider = DataProviderEnum.OLEDB; dsrc.connectionproperties.connectstring Source=NWIND.MDB"; C1.C1Preview.DataBinding.DataSet dset1 = new C1.C1Preview.DataBinding.DataSet(dSrc, "select * from Products"); doc.dataschema.datasources.add(dsrc); doc.dataschema.datasets.add(dset1); RenderText rt = new RenderText(); rt.databinding.datasource = dset1; rt.text = "[DataBinding.RowNumber]: [Fields!ProductName.Value]"; doc.body.children.add(rt); フィルタ グループ 化 およびソート 内 で 式 にアクセス 可 能 な ID フィルタ グループ 化 およびソート 式 では 以 下 の ID のサブセットにアクセスできます Document (C1PrintDocument 型 ) DataBinding (C1DataBinding 型 ) Fields (FieldCollection 型 ) これらのオブジェクト 型 についての 詳 細 は テキスト 式 でアクセス 可 能 な IDを 参 照 してください 176 Copyright GrapeCity inc. All rights reserved.

178 DataSet 内 の 集 計 フィールドの 指 定 に 使 用 する 式 でアクセス 可 能 な ID データセット 内 の 集 計 フィールドを 指 定 するために 使 用 する 式 では 以 下 の ID のサブセットにアクセスできます Document (C1PrintDocument 型 ) Fields (FieldCollection 型 ) これらのオブジェクト 型 についての 詳 細 は テキスト 式 でアクセス 可 能 な IDを 参 照 してください データ 連 結 C1PrintDocument にデータ 連 結 が 追 加 されたことで データ 連 結 形 式 を C1PrintDocument(RDL C1Report レポート 定 義 など)にインポートしたり C1PrintDocument をレポートジェネレータとして 活 用 することができます C1PrintDocument にデータ 連 結 を 追 加 すると C1DataBinding 型 の RenderObject クラスに 新 しい 複 合 プロパティが 追 加 されます これにより レンダリングオブジェクトで 表 示 されるデータのデータソースを 指 定 できます また データ 連 結 では データソース 内 のすべてのレコードに 対 してレンダリングオブジェクトを 繰 り 返 すように 指 定 できます この 場 合 レンダリング オブジェクトは 水 平 区 切 りレポートジェネレータの 領 域 と 同 じになります これは Microsoft の RDL 定 義 と 同 じです このように データ 連 結 が 追 加 されたことで ドキュメントの 生 成 には 次 の2つの 段 階 が 含 まれます すべてのデータ 連 結 レンダリングオブジェクトが 選 択 され これらを(テンプレートとして) 使 用 して データに 基 づいて 実 際 の レンダリングオブジェクトが 作 成 されます 生 成 されるドキュメントは 以 前 のバージョンと 同 様 にページ 区 切 りされます ドキュメントには データベーススキーマ(C1DataSchemaクラスによって 表 され データベース 接 続 情 報 SQL クエリーなどを 含 む)を 含 めることができます ドキュメント 内 の C1DataBinding オブジェクトは そのスキーマのプロパティを 参 照 できます ドキュメント 内 のすべてのデータ 連 結 オブジェクトがドキュメント 自 体 の C1DataSchema のプロパティだけを 参 照 する 場 合 そ のドキュメントは データのリフロー 可 能 になります つまり ドキュメントを 作 成 したプログラムとは 関 係 なく データを 完 全 に 更 新 してドキュメントを 再 生 成 することができます また C1DataBinding は 既 存 のデータソース(DataTable など)を 参 照 できます これは フォーム 上 またはそ のC1PrintDocumentを 作 成 したプログラムの 任 意 の 場 所 で 作 成 されたものです この 場 合 は そのプログラムのコンテキス ト 内 でのみデータを 更 新 してドキュメントを 再 生 成 できます そのドキュメントを 保 存 した 後 で(.C1D ファイルとして) 読 み 込 む と そのデータとの 接 続 はすべて 失 われます レンダリングオブジェクトのデータ 連 結 レンダリングオブジェクトが 作 成 されても そのレンダリングオブジェクトに 最 初 からデータ 連 結 は 作 成 されません データ 連 結 は ユーザーコードで DataBinding プロパティが 参 照 されたときに 作 成 されます たとえば 次 のように 記 述 します コードの 書 き 方 Dim rt As RenderText = New RenderText '... If Not (rt.databinding Is Nothing) Then MessageBox.Show("Data binding defined.") End If コードの 書 き 方 177 Copyright GrapeCity inc. All rights reserved.

179 RenderText rt = new RenderText(); //... if (rt.databinding!= null) { MessageBox.Show("Data binding defined."); } 上 のコードの 条 件 は 常 に True に 評 価 されます したがって 特 定 のレンダリングオブジェクトにデータ 連 結 が 存 在 するかどう かを 確 認 するだけであれば 代 わりに DataBindingDefined プロパティを 使 用 します コードの 書 き 方 Dim rt As RenderText = New RenderText '... If rt.databindingdefined Then MessageBox.Show("Data binding defined.") End If コードの 書 き 方 RenderText rt = new RenderText(); //... if (rt.databindingdefined) { MessageBox.Show("Data binding defined."); } メモ:これは Windows Forms コントロールクラスの Handle プロパティと IsHandleCreated プロパティに 似 ていま す ドキュメント 生 成 時 に RenderObjectsList コレクションが 形 成 されます その 結 果 として 次 の3つの 状 況 が 考 えられます Copies が null これは オブジェクトがデータ 連 結 ではなく 通 常 どおり 処 理 されることを 意 味 します オブジェクトの Fragments プロパティを 使 用 して 生 成 されたページに 実 際 にレンダリングされたオブジェクトのフラグメントにアクセ スできます Copies が null ではなく Copies.Cound が0 これは オブジェクトはデータ 連 結 だが データセットが 空 である(レ コードを 含 まない)ことを 意 味 します このような 場 合 オブジェクトはドキュメントにまったく 表 示 されません つまり オ ブジェクトのフラグメントは 生 成 されません 例 については DataBinding サンプルの 空 のリストへの 連 結 を 参 照 し てください Copies が null ではなく Copies.Cound が0より 大 きい これは オブジェクトはデータ 連 結 で データソースが 空 で はない(レコードを 含 む)ことを 意 味 します ドキュメント 生 成 時 に レンダリングオブジェクトのいくつかのコピーが 作 成 さ れて このコレクションに 配 置 されます その 後 これらのコピーが 処 理 され 通 常 どおりコピーごとにフラグメントが 生 成 されます RenderTable によるデータ 連 結 の 使 用 テーブル 行 / 列 グループの 基 本 クラスである TableVectorGroupの DataBinding プロパティを 使 用 して RenderTable を データ 連 結 にできます この 例 については DataBinding サンプルを 参 照 してください 178 Copyright GrapeCity inc. All rights reserved.

180 使 用 可 能 なサンプルプロジェクト:RenderTableへのバインディングの 例 については DataBinding のサンプルを 参 照 してく ださい 行 のグループだけでなく 列 のグループもデータ 連 結 できることに 注 目 してください つまり テーブルを 下 方 向 だけでなく 横 方 向 にも 拡 大 できます 次 のコードに 示 すように グループ 化 は 機 能 しますが グループ 階 層 は TableVectorGroup オブジェクトの 階 層 に 基 づいてい ません コードの 書 き 方 Dim rt As C1.C1Preview.RenderTable = New C1.C1Preview.RenderTable rt.style.gridlines.all = C1.C1Preview.LineDef.Default ' テーブルヘッダー: Dim c As C1.C1Preview.TableCell = rt.cells(0, 0) c.spancols = 3 c.text = "Header" ' グループヘッダー: c = rt.cells(1, 0) c.text = "GroupId = [Fields!GroupId.Value]" c.spancols = 3 c.style.textalignhorz = C1.C1Preview.AlignHorzEnum.Center c.style.textalignvert = C1.C1Preview.AlignVertEnum.Center ' サブグループヘッダー: c = rt.cells(2, 0) c.text = "GroupId = [Fields!GroupId.Value] SubGroupId = [Fields!SubGroupId.Value]" c.spancols = 3 c.style.textalignhorz = C1.C1Preview.AlignHorzEnum.Center c.style.textalignvert = C1.C1Preview.AlignVertEnum.Center ' サブグループデータ: rt.cells(3, 0).Text = "GroupId=[Fields!GroupId.Value]" rt.cells(3, 1).Text = "SubGroupId=[Fields!SubGroupId.Value]" rt.cells(3, 2).Text = "IntValue=[Fields!IntValue.Value]" 'GroupId フィールドによってグループ 化 されたデータ 連 結 線 のグループを 作 成 します: Dim g As C1.C1Preview.TableVectorGroup = rt.rowgroups(1, 3) g.cansplit = True g.databinding.datasource = MyData.Generate(20, 0) g.databinding.grouping.expressions.add("fields!groupid.value") g.style.backcolor = Color.LightCyan 'SubGroupId によってグループ 化 されたネストされたグループを 作 成 します: Dim ng As C1.C1Preview.TableVectorGroup = rt.rowgroups(2, 2) ng.cansplit = True ng.databinding.datasource = g.databinding.datasource ng.databinding.grouping.expressions.add("fields!subgroupid.value") ng.style.backcolor = Color.LightPink ' Create yet deeper nested data bound group: 179 Copyright GrapeCity inc. All rights reserved.

181 Dim ng2 As C1.C1Preview.TableVectorGroup = rt.rowgroups(3, 1) ng2.databinding.datasource = g.databinding.datasource ng2.style.backcolor = Color.LightSteelBlue コードの 書 き 方 RenderTable rt = new RenderTable(); rt.style.gridlines.all = LineDef.Default; // テーブルヘッダー: TableCell c = rt.cells[0, 0]; c.spancols = 3; c.text = "Header"; //グループヘッダー: c = rt.cells[1, 0]; c.text = "GroupId = [Fields!GroupId.Value]"; c.spancols = 3; c.style.textalignhorz = AlignHorzEnum.Center; c.style.textalignvert = AlignVertEnum.Center; // サブグループヘッダー: c = rt.cells[2, 0]; c.text = "GroupId = [Fields!GroupId.Value] SubGroupId = [Fields!SubGroupId.Value]"; c.spancols = 3; c.style.textalignhorz = AlignHorzEnum.Center; c.style.textalignvert = AlignVertEnum.Center; // サブグループデータ: rt.cells[3, 0].Text = "GroupId=[Fields!GroupId.Value]"; rt.cells[3, 1].Text = "SubGroupId=[Fields!SubGroupId.Value]"; rt.cells[3, 2].Text = "IntValue=[Fields!IntValue.Value]"; // GroupId フィールドによってグループ 化 されたデータ 連 結 線 のグループを 作 成 します: TableVectorGroup g = rt.rowgroups[1, 3]; g.cansplit = true; g.databinding.datasource = MyData.Generate(20, 0); g.databinding.grouping.expressions.add("fields!groupid.value"); g.style.backcolor = Color.LightCyan; // SubGroupId によってグループ 化 されたネストされたグループを 作 成 します: TableVectorGroup ng = rt.rowgroups[2, 2]; ng.cansplit = true; ng.databinding.datasource = g.databinding.datasource; ng.databinding.grouping.expressions.add("fields!subgroupid.value"); ng.style.backcolor = Color.LightPink; // さらに 深 くネストされたデータ 連 結 グループを 作 成 します: TableVectorGroup ng2 = rt.rowgroups[3, 1]; ng2.databinding.datasource = g.databinding.datasource; ng2.style.backcolor = Color.LightSteelBlue; 180 Copyright GrapeCity inc. All rights reserved.

182 上 記 のコードを 図 示 すると 次 の 表 のようになります データ 連 結 のサンプル DataBinding サンプルには いくつかのデータ 連 結 ドキュメントのサンプルが 含 まれます 以 下 に いくつかの 重 要 なコード 例 について 説 明 します グループの 使 用 次 のコードは 典 型 的 なグループ 化 の 使 用 方 法 を 示 します コードの 書 き 方 ' グループごとに 繰 り 返 されるレンダリング 領 域 が 作 成 されます Dim ra As C1.C1Preview.RenderArea = New C1.C1Preview.RenderArea ra.style.borders.all = New C1.C1Preview.LineDef("2mm", Color.Blue) ' オブジェクトの MyData 配 列 がデータソースとして 使 用 されます: ra.databinding.datasource = MyData.Generate(100, 0) 'GroupId フィールドでデータがグループ 化 されます: ra.databinding.grouping.expressions.add("fields!groupid.value") ' グループヘッダーとして 機 能 する RenderText を 作 成 します 通 常 このヘッダーは 複 雑 になり ヘッダー 自 体 がデー タ 連 結 になります Dim rt As C1.C1Preview.RenderText = New C1.C1Preview.RenderText ' グループヘッダーは GroupId = XXX のようになります XXX は グループの GroupId フィールドの 値 です: rt.text = "GroupId: [Fields!GroupId.Value]" rt.style.backcolor = Color.Yellow 'ヘッダーをグループ 領 域 に 追 加 します: ra.children.add(rt) ' この RenderText は 各 グループ 内 のレコードを 出 力 します: rt = New C1.C1Preview.RenderText ' レコードごとに 出 力 するテキスト: rt.text = "GroupId: [Fields!GroupId.Value]" & Microsoft.VisualBasic.Chr(13) & 181 Copyright GrapeCity inc. All rights reserved.

183 "IntValue: [Fields!IntValue.Value]" rt.style.borders.bottom = C1.C1Preview.LineDef.Default rt.style.backcolor = Color.FromArgb(200, 210, 220) ' テキストのデータソースを 外 側 の RenderArea のデータソースに 設 定 します これは レンダリングオブジェクトが 指 定 されたオブジェクト 内 の 現 在 のグループに 連 結 されていることを 示 します: rt.databinding.datasource = ra.databinding.datasource ' テキストを 領 域 に 追 加 します: ra.children.add(rt) コードの 書 き 方 //グループごとに 繰 り 返 されるレンダリング 領 域 が 作 成 されます RenderArea ra = new RenderArea(); ra.style.borders.all = new LineDef("2mm", Color.Blue); // オブジェクトの MyData 配 列 がデータソースとして 使 用 されます: ra.databinding.datasource = MyData.Generate(100, 0); // GroupId フィールドでデータがグループ 化 されます: ra.databinding.grouping.expressions.add("fields!groupid.value"); //グループヘッダーとして 機 能 する RenderText を 作 成 します 通 常 このヘッダーは 複 雑 になり ヘッダー 自 体 がデー タ 連 結 になります RenderText rt = new RenderText(); // グループヘッダーは GroupId = XXX のようになります XXX は グループの GroupId フィールドの 値 です: rt.text = "GroupId: [Fields!GroupId.Value]"; rt.style.backcolor = Color.Yellow; // ヘッダーをグループ 領 域 に 追 加 します: ra.children.add(rt); // この RenderText は 各 グループ 内 のレコードを 出 力 します: rt = new RenderText(); // レコードごとに 出 力 するテキスト: rt.text = "GroupId: [Fields!GroupId.Value]\rIntValue: [Fields!IntValue.Value]"; rt.style.borders.bottom = LineDef.Default; rt.style.backcolor = Color.FromArgb(200, 210, 220); //テキストのデータソースを 外 側 の RenderArea のデータソースに 設 定 します これは レンダリングオブジェクトが 指 定 されたオブジェクト 内 の 現 在 のグループに 連 結 されていることを 示 します: rt.databinding.datasource = ra.databinding.datasource; // テキストを 領 域 に 追 加 します: ra.children.add(rt); 集 計 の 使 用 182 Copyright GrapeCity inc. All rights reserved.

184 次 のコードは 典 型 的 なグループ 化 の 使 用 方 法 を 示 します コードの 書 き 方 ' 各 グループで 繰 り 返 されるレンダリング 領 域 を 作 成 します: Dim ra As C1.C1Preview.RenderArea = New C1.C1Preview.RenderArea ra.style.borders.all = New C1.C1Preview.LineDef("2mm", Color.Blue) ra.databinding.datasource = MyData.Generate(20, 0, True) ra.databinding.grouping.expressions.add("fields!groupid.value") ' 各 グループ 内 の IntValue フィールドの 合 計 を 計 算 する 集 計 を 作 成 します: Dim agg As C1.C1Preview.DataBinding.Aggregate = New C1.C1Preview.DataBinding.Aggregate("Group_IntValue") ' 合 計 を 計 算 する 式 を 定 義 します: agg.expressiontext = "Fields!IntValue.Value" ' 集 計 がグループ 範 囲 を 持 つことを 指 定 します: agg.running = C1.C1Preview.DataBinding.RunningEnum.Group ' 集 計 のデータソースを 指 定 します: agg.databinding = ra.databinding ' 集 計 をドキュメントに 追 加 します doc.dataschema.aggregates.add(agg) ' ドキュメント 全 体 の IntValue フィールドの 合 計 を 計 算 する 集 計 を 作 成 します: agg = New C1.C1Preview.DataBinding.Aggregate("Total_IntValue") ' 合 計 を 計 算 する 式 を 定 義 します: agg.expressiontext = "Fields!IntValue.Value" ' 集 計 がドキュメント 範 囲 を 持 つことを 指 定 します: agg.running = C1.C1Preview.DataBinding.RunningEnum.All ' 集 計 のデータソースを 指 定 します: agg.databinding = ra.databinding ' 集 計 をドキュメントに 追 加 します doc.dataschema.aggregates.add(agg) ' グループヘッダーを 作 成 します: Dim rt As C1.C1Preview.RenderText = New C1.C1Preview.RenderText rt.text = "GroupId: [Fields!GroupId.Value]" rt.style.backcolor = Color.Yellow ra.children.add(rt) ' このレンダリングテキストは グループレコードを 出 力 します コードからわかるように グループ 集 計 値 はグループフッ ターだけでなく グループヘッダーおよびグループ 詳 細 でも 参 照 できます: rt = New C1.C1Preview.RenderText rt.text = "GroupId: 183 Copyright GrapeCity inc. All rights reserved.

185 [Fields!GroupId.Value]\rIntValue:[Fields!IntValue.Value]\rGroup_IntValue: [Aggregates!Group_IntValue.Value]\rTotal_IntValue: [Aggregates!Total_IntValue.Value]\rTatalNested_IntValue: [Aggregates!TatalNested_IntValue.Value]" rt.style.borders.bottom = C1.C1Preview.LineDef.Default rt.style.backcolor = Color.FromArgb(200, 210, 220) rt.databinding.datasource = ra.databinding.datasource ra.children.add(rt) ' この 集 計 もグループに 対 して 計 算 されますが ネストされたオブジェクトのデータ 連 結 に 接 続 されます agg = New C1.C1Preview.DataBinding.Aggregate("TotalNested_IntValue") agg.expressiontext = "Fields!IntValue.Value" agg.running = RunningEnum.All agg.databinding = rt.databinding doc.dataschema.aggregates.add(agg) ' 領 域 をドキュメントに 追 加 します doc.body.children.add(ra) コードの 書 き 方 // 各 グループで 繰 り 返 されるレンダリング 領 域 を 作 成 します: RenderArea ra = new RenderArea(); ra.style.borders.all = new LineDef("2mm", Color.Blue); ra.databinding.datasource = MyData.Generate(20, 0, true); ra.databinding.grouping.expressions.add("fields!groupid.value"); // 各 グループ 内 の IntValue フィールドの 合 計 を 計 算 する 集 計 を 作 成 します: Aggregate agg = new Aggregate("Group_IntValue"); // 合 計 を 計 算 する 式 を 定 義 します: agg.expressiontext = "Fields!IntValue.Value"; // 集 計 がグループ 範 囲 を 持 つことを 指 定 します: agg.running = RunningEnum.Group; // 集 計 のデータソースを 指 定 します: agg.databinding = ra.databinding; // 集 計 をドキュメントに 追 加 します doc.dataschema.aggregates.add(agg); // ドキュメント 全 体 の IntValue フィールドの 合 計 を 計 算 する 集 計 を 作 成 します: agg = new Aggregate("Total_IntValue"); // 合 計 を 計 算 する 式 を 定 義 します: agg.expressiontext = "Fields!IntValue.Value"; // 集 計 がドキュメント 範 囲 を 持 つことを 指 定 します: agg.running = RunningEnum.All; 184 Copyright GrapeCity inc. All rights reserved.

186 // 集 計 のデータソースを 指 定 します: agg.databinding = ra.databinding; // 集 計 をドキュメントに 追 加 します doc.dataschema.aggregates.add(agg); // グループヘッダーを 作 成 します: RenderText rt = new RenderText(); rt.text = "GroupId: [Fields!GroupId.Value]"; rt.style.backcolor = Color.Yellow; ra.children.add(rt); // このレンダリングテキストは グループレコードを 出 力 します コードからわかるように グループ 集 計 値 はグループフッ ターだけでなく グループヘッダーおよびグループ 詳 細 でも 参 照 できます: rt = new RenderText(); rt.text = "GroupId: [Fields!GroupId.Value]\rIntValue:[Fields!IntValue.Value]\rGroup_IntValue: [Aggregates!Group_IntValue.Value]\rTotal_IntValue: [Aggregates!Total_IntValue.Value]\rTatalNested_IntValue: [Aggregates!TatalNested_IntValue.Value]"; rt.style.borders.bottom = LineDef.Default; rt.style.backcolor = Color.FromArgb(200, 210, 220); rt.databinding.datasource = ra.databinding.datasource; ra.children.add(rt); // この 集 計 もグループに 対 して 計 算 されますが ネストされたオブジェクトのデータ 連 結 に 接 続 されます agg = new Aggregate("TotalNested_IntValue"); agg.expressiontext = "Fields!IntValue.Value"; agg.running = RunningEnum.All; agg.databinding = rt.databinding; doc.dataschema.aggregates.add(agg); // 領 域 をドキュメントに 追 加 します doc.body.children.add(ra); ドキュメントの aggregate コレクション(Aggregates) 内 で 宣 言 せずに データバインドされた C1PrintDocument で 使 用 でき る 集 計 タイプもあることに 注 意 してください 詳 細 や 例 については データ 集 計 トピックを 参 照 してください データ 集 計 2010 v1 リリースで 新 しい 集 計 が Reports for WinForms に 追 加 されました これらの 集 計 タイプは ドキュメントの aggregates コレクション(Aggregates) 内 で 宣 言 する 必 要 なく データバインドされた C1PrintDocument 内 で 使 用 できま す たとえば 残 高 がデータバインドされたドキュメントのデータフィールドである 場 合 次 のRenderText を 使 用 し このデータ セットの 合 計 残 高 を 印 刷 できます コードの 書 き 方 Dim rt As New RenderText("[Sum(""Fields!Balance.Value"")]") 185 Copyright GrapeCity inc. All rights reserved.

187 コードの 書 き 方 RenderText rt = new RenderText("[Sum(\"Fields!Balance.Value\")]"); この 機 能 をサポートするために 次 の 新 しいプロパティとメソッドが DataSet および C1DataBinding 型 に 追 加 されました クラス メンバ 説 明 C1DataBinding Name プロパティ 現 在 の C1DataBinding の 名 前 を 取 得 または 設 定 しま す この 名 前 は aggregate 関 数 で 使 用 でき aggregate が 参 照 するデータバインディングを 示 します DataSet Name プロパティ 現 在 の DataSet の 名 前 を 取 得 または 設 定 します この 名 前 は aggregate 関 数 で 使 用 でき aggregate が 参 照 す るデータセットを 示 します すべての aggregate 関 数 は 次 の 書 式 を 持 ちます AggFunc(expression, scope) ここで 式 は 行 グループまたはデータセット 行 ごとに 計 算 された 式 を 定 義 する 文 字 列 です 範 囲 は aggregate が 計 算 されるデータセットを 識 別 する 文 字 列 です 省 略 された 場 合 aggregate は 現 在 のデータ セット( 現 在 のグループ データセットなど)に 計 算 されます 指 定 された 場 合 ターゲットグループまたはデータセットの 名 前 となります たとえば データセットが ID GroupID SubGroupID NAME Q のフィールドを 持 ち レコードが GroupID と SubGroupID によってグループ 化 される 場 合 次 のドキュメントが 生 成 されます コードの 書 き 方 Dim doc As New C1PrintDocument() Dim ragroupid As New RenderArea() '... 必 要 に 応 じて ragroupid プロパティを 設 定 します... ragroupid.databinding.datasource = dataset ragroupid.databinding.name = "GroupID" ragroupid.databinding.grouping.expressions.add("fields!groupid.value") Dim rasubgroupid As New RenderArea() '... 必 要 に 応 じて rasubgroupid プロパティを 設 定 します... rasubgroupid.databinding.datasource = dataset rasubgroupid.databinding.grouping.expressions.add("fields!subgroupid.value") ragroupid.children.add(rasubgroupid) Dim radetail As New RenderArea() '... 必 要 に 応 じて radetail プロパティを 設 定 します... radetail.databinding.datasource = dataset rasubgroupid.children.add(radetail) 'Q フィールドの 値 を 表 示 します Dim rtq As New RenderText() rtq.text = "[Fields!Q.Value]" 186 Copyright GrapeCity inc. All rights reserved.

188 radetail.children.add(rtq) ' ネストされたグループ(SubGroupID)の Q フィールドの 合 計 を 表 示 します Dim rtsumq1 As New RenderText() rtsumq1.text = "[Sum(""Fields!Q.Value"")]" radetail.children.add(rtsumq1) ' GroupID の Q フィールドの 合 計 を 表 示 します Dim rtsumq2 As New RenderText() rtsumq2.text = "[Sum(\"Fields!Q.Value\", "\"GroupID\"")]" radetail.children.add(rtsumq2) ' show TOTAL sum of Q field for the entire dataset: Dim rtsumq3 As New RenderText() rtsumq3.text = "[Sum(\"Fields!Q.Value\", "\"DataSet\"")]" radetail.children.add(rtsumq3) doc.body.children.add(ragroupid) コードの 書 き 方 C1PrintDocument doc = new C1PrintDocument(); RenderArea ragroupid = new RenderArea(); //... 必 要 に 応 じて ragroupid プロパティを 設 定 します... ragroupid.databinding.datasource = dataset; ragroupid.databinding.name = "GroupID"; ragroupid.databinding.grouping.expressions.add("fields!groupid.value"); RenderArea rasubgroupid = new RenderArea(); //... 必 要 に 応 じて rasubgroupid プロパティを 設 定 します... rasubgroupid.databinding.datasource = dataset; rasubgroupid.databinding.grouping.expressions.add("fields!subgroupid.value"); ragroupid.children.add(rasubgroupid); RenderArea radetail = new RenderArea(); //... 必 要 に 応 じて radetail プロパティを 設 定 します... radetail.databinding.datasource = dataset; rasubgroupid.children.add(radetail); // Q フィールドの 値 を 表 示 します RenderText rtq = new RenderText(); rtq.text = "[Fields!Q.Value]"; radetail.children.add(rtq); // ネストされたグループ(SubGroupID)の Q フィールドの 合 計 を 表 示 します RenderText rtsumq1 = new RenderText(); rtsumq1.text = "[Sum(\"Fields!Q.Value\")]"; radetail.children.add(rtsumq1); // GroupID の Q フィールドの 合 計 を 表 示 します RenderText rtsumq2 = new RenderText(); rtsumq2.text = "[Sum(\"Fields!Q.Value\", "\"GroupID\"")]"; radetail.children.add(rtsumq2); //データセット 全 体 の Q フィールドの 合 計 を 表 示 します RenderText rtsumq3 = new RenderText(); rtsumq3.text = "[Sum(\"Fields!Q.Value\", "\"DataSet\"")]"; 187 Copyright GrapeCity inc. All rights reserved.

189 radetail.children.add(rtsumq3); doc.body.children.add(ragroupid); 上 のドキュメントが 生 成 されるとき radetail グループの 各 インスタンスは 次 の4つの 値 を 表 示 します Q フィールドの 現 在 の 値 現 在 の SubGroupID に 対 する Q フィールドの 合 計 現 在 の GroupID に 対 する Q フィールドの 合 計 ドキュメント 全 体 に 対 する Q フィールドの 合 計 目 次 C1PrintDocument は 目 次 (TOC)の 自 動 生 成 をサポートします 目 次 そのものは 専 用 表 示 オブジェクトのRenderToc, に よって 表 されます このオブジェクトは RenderArea から 派 生 し TOC 固 有 の 機 能 を 追 加 します TOC 内 の 個 別 項 目 は RenderTocItem (RenderParagraphから 派 生 )によって 表 されます TOC の 各 項 目 は ドキュメント 内 の 場 所 (アンカー によって 表 される)をポイントするハイパーリンク(RenderTocItem.Hyperlink プロパティ)を 保 持 します そこで 同 じメカニズ ムが TOC 項 目 をハイパーリンクが 指 定 するドキュメントのコンテンツに 連 結 するために 使 用 されます 以 下 に 示 すよう に TOC の 作 成 には 便 利 な 方 法 が 用 意 されています ドキュメントに 目 次 を 追 加 するには 以 下 の 手 順 を 実 行 します 1. RenderToc クラスのインスタンスを 作 成 し ドキュメントの TOC を 表 示 する 位 置 に 追 加 します 2. 個 別 項 目 (RenderTocItem 型 )を RenderToc インスタンスに 追 加 します このためには 以 下 のいずれかの 方 法 (ま たはこれらの 組 み 合 わせ)を 使 用 できます 項 目 のテキスト ポイントする 場 所 およびオプションで TOC 内 のレベルを 提 供 する RenderToc.AddItem メ ソッドの 任 意 のオーバーロードを 使 用 して TOC 項 目 を TOC に 追 加 できます RenderTocItem クラスのインスタンスをコードで 作 成 し プロパティを 設 定 して それを TOC 表 示 オブジェクト の Children コレクションに 追 加 できます RenderToc のインスタンスを 引 数 として 受 け 入 れる RenderTocItem コンストラクタのオーバーロードが 用 意 されています このコンストラクタを 使 用 すると 新 しく 作 成 された TOC 項 目 がコンストラクタ 内 の TOC に 追 加 さ れます このため それを TOC オブジェクトの Children コレクションに 手 動 で 追 加 する 必 要 はありません 使 用 可 能 なサンプル: 専 用 の RenderToc 表 示 オブジェクトを 使 用 してドキュメントの 目 次 を 作 成 する 方 法 の 完 全 なサンプルに ついては RenderTOC のサンプルを 参 照 してください 用 語 索 引 C1PrintDocumentを 使 用 して 自 動 的 に 索 引 を 生 成 できるようになりました 各 索 引 (1つのドキュメント 内 に 複 数 の 索 引 を 生 成 できます)は アルファベット 順 にソートされたエントリを 含 む 文 字 見 出 しのリストの 後 にエントリが 含 まれるページ 番 号 が 続 く リストで 構 成 されます 索 引 は RenderArea から 派 生 した 表 示 オブジェクトである RenderIndex のインスタンスによって 表 されます このオブジェク トは 他 の 表 示 オブジェクトと 同 じようにドキュメントに 追 加 できますが 索 引 に 含 まれるエントリ( 用 語 )は すべて 出 現 した 後 にドキュメントに 表 示 する 必 要 があるという 重 要 な 制 限 があります したがって 従 来 の 索 引 と 同 様 ここで 説 明 する 索 引 が 最 も 良 く 機 能 するのはドキュメントの 末 尾 に 表 示 された 場 合 です 用 語 は ドキュメント 内 に 出 現 し 索 引 のエントリとして 表 示 される 単 語 または 単 語 の 組 み 合 わせです ドキュメントが 作 成 され ると これらの 用 語 は 出 現 した 場 所 に 関 する 情 報 ( 通 常 用 語 を 含 むRenderText またはRenderParagraph )と 共 に RenderIndex オブジェクトに 追 加 されます その 後 ドキュメントが 生 成 されると RenderIndex オブジェクトが 実 際 の 索 引 を 生 成 します 索 引 生 成 機 能 をサポートするクラス 以 下 の 専 用 クラスが 索 引 生 成 機 能 をサポートします 188 Copyright GrapeCity inc. All rights reserved.

190 RenderIndex: このクラスは RenderAreaから 派 生 し C1PrintDocument に 挿 入 され そのドキュメントが 生 成 され たときに 索 引 を 生 成 します RenderIndex は すべての 索 引 エントリが 出 現 した 後 に ドキュメントに 表 示 される 必 要 があります この 制 限 が 行 われる 理 由 は 索 引 の 実 際 の 内 容 (したがって 索 引 が 占 有 するスペース 量 )がエントリの 出 現 に 応 じて 大 幅 に 変 わる 可 能 性 があるからです IndexEntry: このクラスは 索 引 内 の 索 引 エントリ( 用 語 )を 記 述 するために 使 用 されます 各 エントリは 複 数 の 出 現 ( 用 語 が 記 述 または 参 照 されるドキュメント 内 の 場 所 )が 関 連 付 けられている 場 合 が あります エントリのすべての 出 現 のコレクションは IndexEntry のOccurrences プロパティを 使 用 して 表 示 さ れます 出 現 するたびに ドキュメントが 生 成 されるときに 索 引 内 にハイパーリンク 付 きページ 番 号 が 生 成 されます さ らに エントリには サブエントリのリストが 含 まれる 場 合 があります(Childrenによって 表 示 されます) ネストさ れるレベルは 無 制 限 ですが 通 常 最 大 3レベルが 使 用 されます 最 後 に エントリのSeeAlso プロパティに 生 成 される 索 引 内 の 現 在 のエントリの 参 照 として 表 示 される 索 引 エ ントリのリストを 含 めることにより エントリを 索 引 内 の 他 のエントリにリンクさせることができます IndexEntryOccurrence: このクラスは ドキュメント 内 のエントリの 単 一 の 出 現 を 記 述 します この 型 の 要 素 は IndexEntry の Occurrences コレクション 内 に 含 まれています 1つの 索 引 エントリのインスタンスを 作 成 するときに 1 回 または 複 数 回 の 出 現 を 指 定 し(コンストラクタのパラ メータとして) 後 でさらなる 出 現 をエントリに 追 加 できます このクラスの 主 な 機 能 プロパティは 出 現 の 場 所 をポイントするC1LinkTarget, 型 の Targetです コードによる 索 引 の 生 成 通 常 コードで 作 成 されるドキュメント 内 に 簡 単 な1レベルの 索 引 を 作 成 する 場 合 以 下 の 手 順 が 使 用 されます 1. RenderIndex クラスのインスタンスを 作 成 し ローカル 変 数 内 に 格 納 する 必 要 があります( 上 述 のとおり 索 引 はその エントリの 出 現 の 前 に 作 成 することはできません) 2. コンテンツ( 表 示 オブジェクト)がドキュメントに 追 加 されると いくつかのプログラムロジックが 索 引 内 のエントリ( 用 語 ) となる 文 字 列 を 識 別 します これらの 各 文 字 列 は 手 順 1で 作 成 した 索 引 オブジェクトの Entries コレクションにすでに 追 加 されているかどうかがテストされます これが 新 規 エントリである 場 合 それに 対 応 する 新 しい IndexEntry オブ ジェクトが 作 成 され 索 引 に 追 加 されます 3. ドキュメント 内 の 出 現 の 場 所 をポイントするために エントリの 出 現 (IndexEntryOccurrence) を 既 存 または 新 規 に 作 成 されたエントリに 追 加 する 必 要 があります 通 常 この 場 所 は それを 含 み ドキュメントに 追 加 される RenderObject によって 識 別 されます 4. エントリのすべての 出 現 がドキュメントに 追 加 されると 手 順 1で 作 成 した RenderIndex がドキュメントの 本 文 に 追 加 さ れます 5. ドキュメントが 生 成 されると RenderIndex オブジェクトが それに 追 加 されたエントリのハイパーリンク 付 き 索 引 を 生 成 します エントリは 自 動 的 にソートされ 各 文 字 に 対 応 するグループに 分 割 され 文 字 見 出 しが 追 加 されます もちろん これは 索 引 の 作 成 に 関 連 する 主 要 なオブジェクトの 関 係 を 示 すために 設 計 された 考 えられる 簡 単 なシナリオの1 つに 過 ぎません 上 記 以 外 の 可 能 性 として ドキュメントを 作 成 する 前 に(たとえば 外 部 ディクショナリの 用 語 に 基 づいて) 索 引 付 けされた 用 語 を 作 成 したり ネストされたエントリ(サブエントリ)を 追 加 したりすることができます 索 引 の 外 観 のカスタマイズ 以 下 のプロパティは 生 成 される 索 引 の 外 観 をカスタマイズする 方 法 を 提 供 します スタイル(スタイルも 参 照 ): Style: 索 引 全 体 のスタイル( 見 出 し エントリなど)を 指 定 します HeadingStyle: 文 字 見 出 し( 見 出 しは その 文 字 で 始 まるエントリのグループの 前 に 来 る 文 字 です)に 使 用 するスタイ ルを 指 定 します 生 成 される 索 引 では 各 見 出 し( 通 常 その 文 字 で 始 まるエントリのグループの 前 に 来 る 大 文 字 です) は スタイルが 適 用 された 別 個 の 表 示 オブジェクト(RenderText)によって 表 されます EntryStyles: さまざまなレベルのエントリのスタイルを 指 定 する 索 引 付 けされたプロパティです たとえば EntryStyles[0](VB では EntryStyles(0))は 最 上 位 レベルのエントリのスタイルを 指 定 し EntryStyles[1](VB では 189 Copyright GrapeCity inc. All rights reserved.

191 EntryStyles(1))は サブエントリのスタイルを 指 定 します( 索 引 内 のネストされたレベルの 番 号 が EntryStyles コレクショ ン 内 の 要 素 の 数 よりも 大 きい 場 合 コレクション 内 の 最 後 のスタイルがネストされたスタイルに 使 用 されます) 生 成 される 索 引 では 各 エントリ( 用 語 の 後 に それが 表 示 されるページのリストが 続 く)は 別 個 のRenderParagraph オブジェクトによって 表 され エントリのネストされたレベルによって 索 引 付 けされたこのプロパ ティによって 指 定 されたスタイルが 適 用 されます たとえば このスタイルでは 改 ページを 挿 入 できるようにす (MinOrphanLinesを 使 用 して) 前 に エントリのテキストの 最 小 行 数 を 指 定 できます EntryStyle: これは EntryStyles コレクションの 最 初 の( 索 引 ゼロの) 要 素 に 対 するショートカットです SeeAlsoStyle: エントリ 間 の 相 互 参 照 の 前 に 来 る 関 連 項 目 テキストのスタイルを 指 定 できます(SeeAlsoを 参 照 ). Style: 特 定 のエントリのスタイルをオーバーライドできます SeeAlsoStyle: 特 定 の 関 連 項 目 テキストのスタイルをオーバーライドできます その 他 のプロパティ: RunIn: True の 場 合 サブエントリがインデントされた 別 個 の 行 ではなく 主 要 見 出 しに 沿 って 表 示 されることを 示 す ブール 型 プロパティ(デフォルトでは False)です EntryIndent: 主 要 エントリに 対 するサブエントリの 相 対 的 なインデントを 指 定 する Unit プロパティです デフォルトは 0.25 インチです EntryHangingIndent: 次 の 行 に 対 するエントリのテキストの 最 初 の 行 の 相 対 的 な( 左 側 への) 突 き 出 しインデントを 指 定 する Unit プロパティです( 参 照 のリストが1 行 に 収 まらない 場 合 に 使 用 されます) デフォルトは インチです LetterSplitBehavior: 文 字 グループ( 同 じ 文 字 で 始 まるエントリ)を 縦 方 向 に 分 割 する 方 法 を 指 定 す るSplitBehaviorEnumプロパティです デフォルトは SplitBehaviorEnum.SplitIfNeeded です 見 出 し(デフォルト では その 文 字 によって 表 される)は 常 に 最 初 のエントリと 一 緒 に 出 力 されることに 注 意 してください Italic: に 似 ていますが ボールドではなくイタリック 体 を 使 用 します LetterFormat: 文 字 見 出 しの 書 式 設 定 に 使 用 する 文 字 列 です デフォルトは {0} です TermDelimiter:エントリ 用 語 と 用 語 の 出 現 リスト(ページ 番 号 )を 区 切 るために 使 用 する 文 字 列 です デフォルトでは カンマの 後 にスペースを 続 けます RunInDelimiter: 連 続 (RunIn を 参 照 ) 索 引 を 生 成 するときに エントリの 区 切 りに 使 用 する 文 字 列 です デフォルト は セにコロンです OccurrenceDelimiter: エントリの 出 現 リスト(ページ 番 号 )を 区 切 るために 使 用 する 文 字 列 です デフォルトでは カン マの 後 にスペースを 続 けます PageRangeFormat: エントリの 出 現 のページ 範 囲 を 書 式 設 定 するために 使 用 する 書 式 設 定 文 字 列 です デフォルト は {0}-{1} です SeeAlsoFormat: 関 連 項 目 参 照 の 書 式 設 定 に 使 用 する 文 字 列 です デフォルトは (see {0}) です(スペースの 後 に 左 小 括 弧 参 照 の 出 力 に 使 用 する 書 式 項 目 右 小 括 弧 が 順 に 続 きます) FillChar: ページ 番 号 が 右 揃 えされる 場 合 (PageNumbersAtRight が True の 場 合 )に 充 てん 文 字 として 使 用 する 文 字 です このプロパティのデフォルト 値 はドットです PageNumbersAtRight: ページ 番 号 を 右 揃 えにするかどうかを 指 定 するブール 型 プロパティです デフォルトは False です EntrySplitBehavior: 単 一 のエントリを 縦 方 向 に 分 割 する 方 法 を 指 定 する SplitBehaviorEnum プロパティです デ フォルトは SplitBehaviorEnum.SplitIfLarge です このプロパティは すべてのレベルのエントリに 適 用 されます Bold: 特 定 のボールド 体 を 使 用 するエントリの 出 現 に 対 応 するページ 番 号 をハイライト 表 示 できるブール 型 プロパティで す(たとえば 用 語 の 主 な 定 義 を 提 供 する 場 所 をハイライト 表 示 するために 使 用 できます) 索 引 のスタイルの 階 層 索 引 固 有 のスタイルの 階 層 は 以 下 のとおりです RenderIndex の Style は 他 のすべての 索 引 固 有 のスタイルに 対 する AmbientParent として 機 能 します HeadingStyle EntryStyles Style SeeAlsoStyle SeeAlsoStyle RenderIndex の Style を 除 き 上 記 に 示 したすべてのスタイルは 関 連 するオブジェクトのインラインスタイルのParent と 190 Copyright GrapeCity inc. All rights reserved.

192 AmbientParent の 両 方 として 機 能 します たとえば RenderIndex の Style でのフォントの 設 定 は その 索 引 のすべての 要 素 に 影 響 を 与 えますが( 下 位 レベルのスタイルによってオーバーライドされないかぎり) そのスタイルに 枠 線 を 指 定 すると 索 引 全 体 の 周 囲 には 表 示 されますが 索 引 内 の 個 々の 要 素 には 表 示 されません これに 対 して たとえば SeeAlsoStyle に 枠 線 を 指 定 すると 索 引 内 の 各 関 連 項 目 要 素 の 周 囲 に 枠 線 が 表 示 されます 生 成 される 索 引 の 構 造 下 図 は ドキュメントが 生 成 されるときに RenderIndex オブジェクトによって 作 成 される 表 示 オブジェクトのツリー 構 造 と 階 層 を 示 しています(この 図 では RenderIndex オブジェクトのみがユーザーコードによって 最 上 位 レベルに 作 成 され その 他 す べてのオブジェクトは 自 動 的 に 作 成 されることに 注 意 してください) アウトライン C1PrintDocument はアウトラインをサポートしています ドキュメントのアウトラインは ドキュメント 内 の 位 置 をポイントする ノード(OutlineNode 型 )から 成 るツリーとして Outlines プロパティで 指 定 されます アウトラインは プレビューのナビゲー ションパネル 内 のタブに 表 示 されます 項 目 をクリックすると その 項 目 に 対 応 する 位 置 に 移 動 できます アウトラインは 同 じ 構 造 をサポートする 形 式 (PDF など)にもエクスポートされます アウトラインノードを 作 成 するには オーバーロード Outline コンストラクタのいずれかを 使 用 します アウトラインのテキスト 191 Copyright GrapeCity inc. All rights reserved.

193 ドキュメント 内 の 位 置 ( 描 画 オブジェクトまたはアンカー) およびプレビュー 内 のアウトラインツリーパネルに 表 示 されるアイコ ンを 指 定 できます 最 上 位 のノードは ドキュメントの Outlines コレクションに 追 加 します さらに 各 アウトラインノードの Children コレクションに 子 ノードのコレクションを 入 れ 以 下 同 様 に 繰 り 返 すことができます ヒント:ドキュメントにレンダリングされる 各 項 目 のアウトラインノードはクリックできます ノードをクリックすると そのノー ドにアタッチされている 項 目 が 表 示 されます 埋 め 込 みフォント C1PrintDocument が C1DX または C1D ファイルとして 保 存 される 場 合 ドキュメントで 使 用 するフォントがそのファイルに 埋 め 込 まれます この 場 合 そのドキュメントが 別 のシスタム 上 のファイルからロードされる 場 合 現 在 のシステムが 元 のフォント をすべてインストールしていない 場 合 でも 埋 め 込 まれているフォントで 表 示 されるテキストは 正 しく 表 示 されるように 保 証 され ています フォントの 埋 め 込 みは 珍 しいフォントや 専 用 フォントが 使 用 される 場 合 (バーコードを 表 示 するフォントなど) 特 に 有 用 です C1PrintDocument にフォントを 埋 め 込 む 場 合 そのフォントからすべてのグリフが 埋 め 込 まれる 訳 ではないことに 注 意 してください この 場 合 実 際 にフォントで 使 用 されるグリフだけが 埋 め 込 まれます 以 下 の C1PrintDocument プロパティがフォントの 埋 め 込 みに 関 連 します EmbeddedFonts - これは ドキュメントに 埋 め 込 まれたフォントを 含 むコレクションです フォントは 自 動 的 に 作 成 され る 一 方 フォント 埋 め 込 みのカスタムコントロールによって 手 動 で 変 更 できることにも 注 意 してください( 詳 細 について は 後 述 の 説 明 を 参 照 してください) DocumentFonts - このコレクションは C1PrintDocument.FontHandling プロパティの 値 に 応 じて 自 動 的 に 作 成 さ れます ドキュメントで 使 用 されるフォントを 見 つけるために 使 用 できます FontHandling - このプロパティは 2つの 関 連 コレクション(EmbeddedFonts と DocumentFonts)が 作 成 されるか どうかとどのように 作 成 されるかを 決 定 します フォントの 代 替 テキストがフォントを 使 用 して 表 示 され グリフが 指 定 したフォントでは 存 在 しないテキストに 表 示 される 場 合 グリフを 表 示 する 代 替 フォントを 選 択 することができます たとえば 日 本 語 象 形 文 字 を 表 示 するために Arial フォントが 使 用 される 場 合 実 際 のテキストの 表 示 には Arial Unicode MS フォントが 使 用 される 場 合 があります C1PrintDocument は これを 分 析 し DocumentFonts およびEmbeddedFonts コレクションに 使 用 する 実 際 のフォント( 指 定 したフォントではなく)を 追 加 でき ます これを 行 うには FontHandlingを FontHandling.BuildActualDocumentFonts または FontHandling.EmbedActualFonts に 設 定 する 必 要 があります これらの 設 定 の 欠 点 は ドキュメントの 生 成 速 度 が 低 下 し 時 間 がかかることです このため 指 定 したフォントから 欠 落 している 可 能 性 のある 文 字 がドキュメントに 含 まれている 場 合 にのみ( 一 般 的 なラテンフォントを 使 用 した 極 東 言 語 のテキストなど) これらの 設 定 を 使 用 することをお 勧 めします フォントの 代 替 を 分 析 する 場 合 以 下 の 定 義 済 みフォントのセットを 検 索 し 欠 落 したグリフを 含 む 最 もよく 一 致 したフォントを 見 つけます MS UI Gothic MS 明 朝 Arial Unicode MS Batang Gulim Microsoft YaHei Microsoft JhengHei MingLiU SimHei SimSun 選 択 フォントの 埋 め 込 み 一 般 的 に 使 用 可 能 な Arial などのフォントと 共 に 専 用 フォントをドキュメントで 使 用 している 場 合 ドキュメントで 使 用 するすべ 192 Copyright GrapeCity inc. All rights reserved.

194 てのフォントを 埋 め 込 むのではなく その 専 用 フォントのみ または 複 数 の 専 用 フォントを 埋 め 込 みたい 場 合 があります これを 行 うには 以 下 の 手 順 を 実 行 します 1. FontHandling を FontHandling.EmbedFonts または FontHandling.EmbedActualFonts 以 外 の 値 に 設 定 しま す これにより ドキュメントを 生 成 するときに EmbeddedFonts コレクションが 空 のままになります 2. コードを 使 用 して 専 用 フォント( 現 在 のシステムにインストールされている 必 要 があります)をドキュメントの EmbeddedFonts コレクションに 追 加 します EmbeddedFont を 作 成 するには カスタムフォントに 対 応 する.NET Font オブジェクトを EmbeddedFont のコンストラクタに 渡 します EmbeddedFont.AddGlyphs メソッドを 使 用 して 必 要 なグリフをフォントに 追 加 します( 複 数 のオーバーロードが 用 意 されています) この 方 法 で 作 成 した EmbeddedFonts コレクションを 含 む C1PrintDocument を 保 存 すると(C1DX または C1D ファイルと して) このコレクションで 指 定 されたフォントだけがドキュメントに 埋 め 込 まれます 辞 書 同 じ 項 目 ( 画 像 またはアイコン)がドキュメント 内 の 多 くの 場 所 で 使 用 される 場 合 は 同 じ 画 像 またはアイコンをそれらすべての 場 所 に 挿 入 するのではなく その 項 目 をドキュメント 全 体 からアクセスできる 位 置 に 一 度 保 存 し そのインスタンスを 参 照 する ようにできると 便 利 です そのために C1PrintDocument には 辞 書 が 用 意 されています 辞 書 にアクセスするに は Dictionary プロパティを 使 用 します 辞 書 には 基 本 抽 象 型 DictionaryItemの 項 目 が 含 まれています 画 像 とアイコン を 保 存 するために DictionaryImage と DictionaryIconの2つの 派 生 クラスが 用 意 されています 辞 書 内 の 項 目 は 名 前 で 参 照 されます 項 目 を 使 用 するには 項 目 に 名 前 を 割 り 当 てる 必 要 があります 名 前 は 辞 書 内 で 一 意 である 必 要 があります 辞 書 項 目 はドキュメント 内 の 次 の 場 所 で 使 用 できます スタイルの 背 景 画 像 (BackgroundImageName プロパティを 使 用 ) RenderImageオブジェクト 内 の 画 像 (ImageNameプロパティを 使 用 ) 同 じ 画 像 をドキュメント 内 の 複 数 の 場 所 で 使 用 するには 次 の 手 順 に 従 います 画 像 を 辞 書 に 追 加 します 次 に 例 を 示 します コードの 書 き 方 Me.C1PrintDocument1.Dictionary.Add(New C1.C1Preview.DictionaryImage("image1", Image.FromFile("myImage.jpg"))) コードの 書 き 方 this.c1printdocument1.dictionary.add(new DictionaryImage("image1", Image.FromFile("myImage.jpg"))); スタイルの BackgroundImageName プロパティまたはレンダリング 画 像 の ImageName プロパティを 設 定 して そ の 画 像 を 使 用 します 次 に 例 を 示 します コードの 書 き 方 Dim ri As New C1.C1Preview.RenderImage() ri.imagename = "image1" コードの 書 き 方 193 Copyright GrapeCity inc. All rights reserved.

195 RenderImage ri = new RenderImage(); ri.imagename = "image1"; C1Report 定 義 C1Previewには C1Report 定 義 をインポートおよび 生 成 する 機 能 があります. C1Reportを C1PrintDocumentにインポートするには ImportC1Report メソッドを 使 用 します たとえば 次 のコードを 使 用 して C1Report に 付 属 する ReportBrowser サンプルの Alphabetical List of Products ( 製 品 のアルファベット 順 リスト) をインポートしてプレビューできます コードの 書 き 方 Dim doc As C1PrintDocument = New C1PrintDocument() doc.importc1report("nwind.xml", "Alphabetical List of Products") Dim pdlg As C1PrintPreviewDialog = New C1PrintPreviewDialog() pdlg.document = doc pdlg.showdialog() コードの 書 き 方 C1PrintDocument doc = new C1PrintDocument(); doc.importc1report("nwind.xml", "Alphabetical List of Products"); C1PrintPreviewDialog pdlg = new C1PrintPreviewDialog(); pdlg.document = doc; pdlg.showdialog(); C1Report がC1PrintDocumentにインポートされると ドキュメントは 次 のような 構 造 になります グループがないレポートの 場 合 ページフッターは RenderSection オブジェクトによって 表 され ドキュメントの PageLayouts.Default.PageFooter に 割 り 当 てられます レポートの 各 セクションでは RenderSection オブジェクトが 作 成 されて ドキュメント 本 体 に 次 の 順 序 で 追 加 されます Header(レポートヘッダー SectionTypeEnum.Header) PageHeader (ページヘッダー SectionTypeEnum.PageHeader) Detail (データセクション SectionTypeEnum.Detail) Footer (レポートフッター SectionTypeEnum.Footer) PageHeader のコピーも PageHeader.LayoutChangeAfter.PageLayout.PageHeader に 割 り 当 てられます C1Report では レポートヘッダーの 後 に 最 初 のページヘッダーが 出 力 されるため このような 複 雑 な 構 造 が 必 要 になります グループがあるレポートの 場 合 各 グループで RenderArea が 作 成 され PageHeader および Footer の 間 に 次 のオブジェクトツリーが 配 置 されます(2つ のグループの 場 合 ) 最 上 位 グループを 表 すRenderArea GroupHeader1 を 表 すRenderSection ネストされたグループを 表 す RenderArea GroupHeader2 を 表 す RenderSection 194 Copyright GrapeCity inc. All rights reserved.

196 Detail GroupFooter2 を 表 す RenderSection GroupFooter1 を 表 す RenderSection C1Report インポートの 制 限 C1Report を C1PrintDocument にインポートする 際 は 次 の 制 限 があります XML ファイルに 含 まれるレポート 定 義 だけをインポートできます つまり アプリケーションが C1Report イベントにア タッチされた または VB ハンドラを 介 してコードでレポートを 生 成 している 場 合 そのレポート をC1PrintDocumentにインポートすることはできません C1Report では プリンタがインストールされておらず CustomWidth および CustomHeight がどちらも0に 設 定 さ れている 場 合 用 紙 サイズは 常 にレター( インチ)に 設 定 されます C1PrintDocument では 現 在 のロケール に 基 づいて 用 紙 サイズが 決 定 されます たとえば ヨーロッパのほとんどの 国 では 用 紙 サイズは A4 (210cm 297cm)に 設 定 されます スクリプトの 制 限 : C1PrintDocument: Field: Layout: Font プロパティは 読 み 取 り 専 用 です Section プロパティは 読 み 取 り 専 用 です Font プロパティは 読 み 取 り 専 用 です LineSpacing プロパティは 存 在 しません Field.Subreport プロパティは 読 み 取 り 専 用 です LinkTarget プロパティに 式 が 含 まれる 場 合 は 評 価 されずに 文 字 列 として 使 用 されます SubreportHasData プロパティは 存 在 しません LinkValue プロパティは 存 在 しません ColumnLayout プロパティはサポートされません 列 は 常 に 上 から 下 左 から 右 に 並 べられます LabelSpacingX プロパティは 存 在 しません LabelSpacingY プロパティは 存 在 しません OverlayReplacements プロパティは 存 在 しません OnFormat イベントハンドラでは 生 成 されるドキュメントのページ 区 切 りに 影 響 を 及 ぼすプロパティを 変 更 しないでくだ さい たとえば ForcePageBreakを 使 用 することはできません レポートのパラメータを 入 力 するためのダイアログは 表 示 されません 代 わりに デフォルト 値 が 使 用 されます デフォ ルトが 指 定 されていない 場 合 は パラメータの 種 類 によって 決 定 されます たとえば 数 値 には0 文 字 列 には 空 文 字 列 日 付 には 現 在 の 日 付 が 使 用 されます PageHeader および PageFooter では データベースフィールドを 使 用 できません C1Report では 段 組 みレポートのレポートヘッダーがすべての 列 に 出 力 されますが C1PrintDocument では 最 初 の 列 だけに 出 力 されます 列 では Across がサポートされません プリンタドライバでの 作 業 Reports for WinForms の 2009 v1 では プリンタドライバに 起 因 する 特 定 の 問 題 に 対 処 するために いくつかの 新 しいメン バが 追 加 されました プリンタドライバの 問 題 を 解 決 するために 以 下 のメンバが 追 加 されました 195 Copyright GrapeCity inc. All rights reserved.

197 クラス メンバ 説 明 C1PreviewPane AdjustPrintPage イベント ドキュメントの 印 刷 に 使 用 する C1PrintManager の PrintPage イベントハンドラから 発 生 します C1PrintManager AdjustPrintPage イベント 実 際 にページを 印 刷 する 前 の 現 在 のプリントマネー ジャの PrintDocument.PrintPage イベントハンドラ から 発 生 します C1PrintOptions DrawPrintableAreaBounds プロパ ティ PrintableAreaBoundsPen プロパ ティ PrintAsBitmap プロパティ ページの 印 刷 可 能 領 域 の 周 囲 に 線 を 表 示 するかどう かを 指 定 する 値 を 取 得 または 設 定 します(プリンタの 問 題 のデバッグに 便 利 です) DrawPrintableAreaBounds が True の 場 合 印 刷 可 能 領 域 の 枠 線 を 表 示 するために 使 用 するペンを 取 得 または 設 定 します 印 刷 前 に ページのメタファイルをビットマップに 変 換 し プリンタのハードマージンにクリップするかどうかを 指 定 する 値 を 取 得 または 設 定 します 上 記 のテーブルに 示 されたメンバは 特 定 のプリンタの 問 題 に 対 処 するために 使 用 できます たとえば HP-CP1700 プリンタ (Vista の 組 み 込 みプリンタドライバを 使 用 )を 装 備 した Windows Vista 64 を 実 行 するマシンの 以 下 のシナリオについて 検 討 します この 例 では ClipPage が False(デフォルト)に 設 定 され ドキュメントのページがプリンタのマージンより 広 く 空 の ページが 出 力 され ドキュメントのコンテンツは 印 刷 されませんでした たとえば 以 下 のドキュメントは 印 刷 を 実 行 したとき に 空 の2ページのみ 生 成 しました コードの 書 き 方 Dim doc As New C1PrintDocument() doc.style.font = New Font("Arial", 32) For i As Integer = 0 To 19 Dim rtx As New RenderText(i.ToString()) rtx.x = String.Format("{0}in", i) rtx.y = "10cm" rtx.style.fontsize = 64 doc.body.children.add(rtx) Next doc.generate() コードの 書 き 方 C1PrintDocument doc = new C1PrintDocument(); doc.style.font = new Font("Arial", 32); for (int i = 0; i < 20; ++i) { RenderText rtx = new RenderText(i.ToString()); rtx.x = string.format("{0}in", i); rtx.y = "10cm"; rtx.style.fontsize = 64; doc.body.children.add(rtx); } doc.generate(); 196 Copyright GrapeCity inc. All rights reserved.

198 この 問 題 は 以 下 の2つの 方 法 によって 対 処 できるようになりました 1. PrintAsBitmap を True に 設 定 します(たとえば C1PreviewPane 上 で). 2. 以 下 のイベントハンドラをAdjustPrintPage イベントに 関 連 付 けます(AdjustPrintPage 経 由 でも 可 能 です) コードの 書 き 方 Dim doc As New C1PrintDocument() doc.style.font = New Font("Arial", 32) Private Sub PreviewPane_AdjustPrintPage(ByVal sender As Object, ByVal e As AdjustPrintPageEventArgs) Dim pa As RectangleF = e.printablearea If Not e.printpageeventargs.pagesettings.landscape Then pa.width = 800 ' システムは 824 に 設 定 されます pa.x = 25 ' システムは 13 に 設 定 されます pa.y = 13 'システムは に 設 定 されます Else pa.x = 13 pa.y = 0 End If e.printablearea = pa End Sub コードの 書 き 方 C1PrintDocument doc = new C1PrintDocument(); doc.style.font = new Font("Arial", 32); void PreviewPane_AdjustPrintPage(object sender, AdjustPrintPageEventArgs e) { RectangleF pa = e.printablearea; if (!e.printpageeventargs.pagesettings.landscape) { pa.width = 800; // システムは 824 に 設 定 されます pa.x = 25; // システムは 13 に 設 定 されます pa.y = 13; // システムは に 設 定 されます } else { pa.x = 13; pa.y = 0; } e.printablearea = pa; } このコードは プリンタドライバによって 設 定 された 間 違 ったハードページマージンを 修 正 し 上 記 の 問 題 を 回 避 します 197 Copyright GrapeCity inc. All rights reserved.

199 レポートビューアのタスク 別 ヘルプ ReportViewer for ASP.NET Web Forms タスク 別 ヘルプは ASP.NET のプログラミングに 精 通 し コントロールの 一 般 的 な 使 用 方 法 を 理 解 しているユーザーを 対 象 とし ています ヘルプで 概 説 されている 手 順 を 実 行 すれば C1ReportViewer のさまざまな 機 能 を 実 証 するプロジェクトを 作 成 し て C1ReportViewer の 機 能 を 理 解 できます 各 トピックでは C1ReportViewer コントロールを 使 用 した 特 定 のタスクのソリューションを 示 します タスク 別 ヘルプの 各 ト ピックでは 新 しい ASP.NET Web アプリケーションを 作 成 し 必 要 なアセンブリへの 参 照 を 追 加 済 みであることも 前 提 となりま す ReportViewer でのエラー 処 理 の 有 効 化 C1ReportViewer コントロールでは 実 行 時 にデバッグのために 組 み 込 みログコンソールを 表 示 できます EnableLogs プロ パティを 使 用 して 組 み 込 みログコンソールを 有 効 にします 以 下 の 例 では EnableLogs プロパティを True に 設 定 してログコンソールを 表 示 します また ログにエラーが 表 示 されるよ うに FileName と ReportName を 組 み 込 まれていない 名 前 に 設 定 します ソースビューの 場 合 ソースビューで AutoPlay="True" ShowTimer="True" を <cc1:c1reportviewer> タグに 追 加 します その 結 果 次 のように なります XAML <cc1:c1reportviewer ID="C1ReportViewer1" runat="server" FileName="WrongReport.xml" ReportName="WrongReportName" EnableLogs="true"> デザインビューの 場 合 デザインビューで C1ReportViewer コントロールを 選 択 し プロパティウィンドウで 次 のように 設 定 します コードの 場 合 FileName プロパティを WrongReport.xml ReportName プロパティを WrongReportName EnableLogs プロパティを True 次 のコードを Page_Load イベントに 追 加 します Me.C1ReportViewer1.FileName = "WrongReport.xml" Me.C1ReportViewer1.ReportName = "WrongReportName" Me.C1ReportViewer1.EnableLogs = True this.c1reportviewer1.filename = "WrongReport.xml"; this.c1reportviewer1.reportname = "WrongReportName"; this.c1reportviewer1.enablelogs = true; このトピックは 次 のことを 示 します 198 Copyright GrapeCity inc. All rights reserved.

200 アプリケーションを 実 行 し エラーメッセージが 表 示 されていないことを 確 認 します ReportViewer への 柔 軟 なサイズ 変 更 の 追 加 C1ReportViewer コントロールでは 柔 軟 なサイズ 変 更 用 に Width プロパティと Height プロパティをパーセンテージで 指 定 できます この 例 では クライアントスクリプトを 使 用 して 親 コンテナのサイズを 変 更 します C1ReportViewer レイアウトは 親 コンテナのサイズの 変 更 に 応 じて 調 整 されます 以 下 の 手 順 を 実 行 します 1. ソースビューで 次 のように <cc1:c1reportviewer> マークアップの 前 後 にコンテナを 追 加 します XAML <div id="parentcontainersample" > <cc1:c1reportviewer runat="server" ID="C1ReportViewer1" Height="100%" Width="100%"> </cc1:c1reportviewer> </div> この 親 コンテナは 実 行 時 にサイズ 変 更 されます 2. 以 下 のマークアップをライトボックスマークアップの 直 下 に 追 加 します XAML <p> 親 コンテナのサイズを 変 更 する:</p> <ul> <li><a href="javascript:changeparentsize(320, 240);"> 親 サイズを 320x240px に 変 更 する</a>\n </li> <li><a href="javascript:changeparentsize(600, 400);"> 親 サイズを 600x400px に 変 更 する</a>\n </li> <li><a href="javascript:changeparentsize('100%', '475');"> 親 サイズを 100% x 475px に 変 更 する</a>\n </li> </ul> 199 Copyright GrapeCity inc. All rights reserved.

201 これは それぞれが 親 コンテナのサイズをさまざまな 高 さと 幅 に 変 更 する3つのリンクを 追 加 します 3. 以 下 のマークアップを 前 のマークアップの 直 下 に 追 加 します XAML <script language="javascript" type="text/javascript"> function changeparentsize(w, h) { $("#parentcontainersample").width(w).height(h); $("#<%=C1ReportViewer1.ClientID%>").c1reportviewer("refresh"); } </script> このスクリプトはサイズ 変 更 リンクを 初 期 化 します このトピックの 作 業 結 果 アプリケーションを 実 行 し 実 行 時 にリンクの1つをクリックして C1ReportViewer に 含 まれる 親 コンテナのサイズを 変 更 しま す C1ReportViewer コントロールは 親 コンテナと 共 にサイズ 変 更 されることに 注 意 してください レポートドキュメントへのハイパーリンクの 追 加 C1ReportViewer コントロールでは ハイパーリンクを 組 み 込 むことができます ユーザーが Web ページやその 他 のレポートを 開 いたり 同 じレポー ト 内 の 別 の 場 所 にジャンプしたり C1ReportViewer の 外 観 を 変 更 したり カスタム JavaScript を 実 行 したりできるリンクを 追 加 できます ドキュメントの 中 央 へのリンクの 追 加 次 のコードを Page_Load イベントに 追 加 します ' 表 示 オブジェクトにジャンプするには 実 際 アンカーは 必 要 ありません Dim rt4 As New RenderText("ここをクリックしてドキュメントの 中 央 に 移 動 します ") rt4.hyperlink = New C1Hyperlink(doc.Body.Children(doc.Body.Children.Count / 2)) rt4.hyperlink.statustext = "ドキュメントのほぼ 中 央 に 移 動 します" doc.body.children.add(rt4) // 表 示 オブジェクトにジャンプするには 実 際 アンカーは 必 要 ありません RenderText rt4 = new RenderText("ここをクリックしてドキュメントの 中 央 に 移 動 します "); rt4.hyperlink = new C1Hyperlink(doc.Body.Children[doc.Body.Children.Count / 2]); rt4.hyperlink.statustext = "ドキュメントのほぼ 中 央 に 移 動 します"; doc.body.children.add(rt4); このコードは ドキュメントの 中 央 へのリンクを 追 加 します アンカーへのハイパーリンクの 追 加 次 のコードを Page_Load イベントに 追 加 します ' アンカーを 作 成 します Dim rt1 As New RenderText("これは anchor1 を 含 むテキストです ") ' 名 前 ("anchor1")は このリンクにジャンプするために 使 用 されます rt1.anchors.add(new C1Anchor("anchor1")) rt1.hyperlink = New C1Hyperlink(New C1LinkTargetPage(PageJumpTypeEnum.Last), "ドキュメントの 最 後 のページに 移 動 します") doc.body.children.add(rt1) ' anchor1 にハイパーリンクを 追 加 します 200 Copyright GrapeCity inc. All rights reserved.

202 Dim rt2 As New RenderText("ここをクリックして anchor1 移 動 します ") rt2.hyperlink = New C1Hyperlink(New C1LinkTargetAnchor("anchor1"), "これは anchor1 へのリンクの 上 にマウスポイ ンタを 置 いたときのステータステキストです") doc.body.children.add(rt2) // アンカーを 作 成 します RenderText rt1 = new RenderText("これは anchor1 を 含 むテキストです ") // 名 前 ("anchor1")は このリンクにジャンプするために 使 用 されます rt1.anchors.add(new C1Anchor("anchor1")); rt1.hyperlink = new C1Hyperlink(new C1LinkTargetPage(PageJumpTypeEnum.Last), "ドキュメントの 最 後 のページに 移 動 します"); doc.body.children.add(rt1); // anchor1 にハイパーリンクを 追 加 します RenderText rt2 = new RenderText("ここをクリックして anchor1 移 動 します "); rt2.hyperlink = new C1Hyperlink(new C1LinkTargetAnchor("anchor1"), "これは anchor1 へのリンクの 上 にマウスポインタを 置 いたときのステータステキストです"); doc.body.children.add(rt2); このコードは アンカーを 追 加 してから アンカーにハイパーリンクを 追 加 します ハイパーリンク 付 き 画 像 の 追 加 次 のコードを Page_Load イベントに 追 加 します ' URL へのハイパーリンク 付 き 画 像 を 追 加 します Dim ri1 As New RenderImage(Image.FromFile(HttpContext.Current.Server.MapPath("~/C1ReportViewer/Images/google.gif"))) ri1.hyperlink = New C1Hyperlink(New C1LinkTargetFile(" "グーグル 検 索 に 移 動 します... ( 新 しいウィンドウでリンクを 開 くには Ctrl キーを 押 したままクリックします") doc.body.children.add(ri1) // URL へのハイパーリンク 付 き 画 像 を 追 加 します RenderImage ri1 = new RenderImage(Image.FromFile(HttpContext.Current.Server.MapPath("~/C1ReportViewer/Images/google.gif"))); ri1.hyperlink = new C1Hyperlink(new C1LinkTargetFile(" "グーグル 検 索 に 移 動 します... ( 新 しいウィンドウでリンクを 開 くには Ctrl キーを 押 したままクリックします"); doc.body.children.add(ri1); 上 記 のコードは 外 部 サイトにリンクされた 画 像 を 追 加 します カスタム JavaScript アクションの 実 行 次 のコードを Page_Load イベントに 追 加 します Dim rt5 As New RenderText("'Hello' と 呼 びかけます ") rt5.hyperlink = New C1Hyperlink(New C1LinkTargetFile("javascript:alert('Hello')")) rt5.hyperlink.statustext = "'Hello' メッセージを 表 示 します " doc.body.children.add(rt5) RenderText rt5 = new RenderText("'Hello' と 呼 びかけます ") rt5.hyperlink = new C1Hyperlink(new C1LinkTargetFile("javascript:alert('Hello')")); rt5.hyperlink.statustext = "'Hello' メッセージを 表 示 します "; doc.body.children.add(rt5); 上 記 のコードは アラートダイアログボックスへのリンクを 追 加 します 201 Copyright GrapeCity inc. All rights reserved.

203 [ 印 刷 プレビュー]ダイアログボックスを 開 く 次 のコードを Page_Load イベントに 追 加 します Dim rt6 As New RenderText("printWithPreview") rt6.hyperlink = New C1Hyperlink(New C1LinkTargetFile("exec:printWithPreview()")) rt6.hyperlink.statustext = "レポートをプレビューして 印 刷 します " doc.body.children.add(rt6) RenderText rt6 = new RenderText("printWithPreview"); rt6.hyperlink = new C1Hyperlink(new C1LinkTargetFile("exec:printWithPreview()")); rt6.hyperlink.statustext = "レポートをプレビューして 印 刷 します "; doc.body.children.add(rt6); 上 記 のコードは [ 印 刷 プレビュー]ダイアログボックスへのリンクを 追 加 します ハイパーリンクを 新 しいウィンドウで 開 く デフォルトでは C1ReportViewer の LinkTarget プロパティを 使 用 して 設 定 されたリンクをクリックすると 同 じブラウザウィンドウに 表 示 されます た だし リンクを 新 しいウィンドウで 開 くように 選 択 できます デフォルトの 動 作 をオーバーライドするには レポートに 含 まれるハイパーリンク 用 にカスタ ムスクリプトを 記 述 する 必 要 があります これらのハイパーリンクは 明 示 的 に 作 成 して レポートのドキュメントの 本 文 に 追 加 できます たとえば 次 のコードを 追 加 します Dim rt2 As New RenderText("カスタムスクリプトを 実 行 します ") rt2.hyperlink = New C1Hyperlink(New C1LinkTargetFile("javascript:openPage(' doc.body.children.add(rt2) RenderText rt2 = new RenderText("カスタムスクリプトを 実 行 します "); rt2.hyperlink = new C1Hyperlink(new C1LinkTargetFile("javascript:openPage(' doc.body.children.add(rt2); 上 記 のコードは JavaScript で 次 のように 定 義 される openpage と 呼 ばれるメソッドを 使 用 します XAML <script type="text/javascript"> function openpage(url){ window.open(url, "mywindow"); } </script> このメソッドは ターゲットを 新 しいブラウザウィンドウで 開 くように C1ReportViewer に 指 示 します 新 しいハイパーリンクを 作 成 する 代 わりに 以 下 のコードを 使 用 して LinkTarget プロパティを 希 望 するリンクに 直 接 設 定 することもできます Protected Function MakeDoc() As C1PrintDocument Dim doc As New C1PrintDocument() Dim report As C1Report = C1ReportViewer.CreateC1Report() report.load(server.mappath("~/xml/commontasks.xml"), "01: 1 行 おきに 変 化 する 背 景 色 ") report.render() report.sections("detail").fields("quantityperunitctl").linktarget = "javascript:openpage(' doc = report.c1document Return doc End Function 202 Copyright GrapeCity inc. All rights reserved.

204 protected C1PrintDocument MakeDoc() { C1PrintDocument doc = new C1PrintDocument(); C1Report report = C1ReportViewer.CreateC1Report(); report.load(server.mappath("~/xml/commontasks.xml"), "01: 1 行 おきに 変 化 する 背 景 色 "); report.render(); report.sections["detail"].fields["quantityperunitctl"].linktarget = "javascript:openpage(' doc = report.c1document; return doc; } このスクリプトはサイズ 変 更 リンクを 初 期 化 します ReportViewer への 動 的 レポートの 追 加 動 的 レポートは 実 行 時 に 作 成 できます 静 的 RegisterDocument メソッドを 使 用 して コードビハインドから 動 的 レポートド キュメントを 登 録 できます RegisterDocument メソッドは 次 の2つのパラメータを 受 け 入 れます 1つ 目 のパラメータは 動 的 レポートドキュメント 2つ 目 のパラメータはレポートドキュメントを 生 成 するために 呼 び 出 されるデリゲートです サーバー 側 またはクライアント 側 で FileName プロパティを 変 更 することによって 複 数 の 動 的 レポートを 異 なる 名 前 で 登 録 し これらのレポートを 切 り 替 えることができます 以 下 の 例 では 動 的 レポートドキュメントを 登 録 および 表 示 する 方 法 を 示 します 以 下 の 手 順 を 実 行 します 1. ソースビューで 次 のように <cc1:c1reportviewer> マークアップを 編 集 します XAML <cc1:c1reportviewer runat="server" ID="C1ReportViewer1" FileName="InMemoryBasicTable" Zoom="75%" Height="475px" Width="100%"> </cc1:c1reportviewer> 2. コードビューに 切 り 替 えて 次 に 示 すように Page_Load イベントにコードを 追 加 します Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load C1ReportViewer.RegisterDocument("InMemoryBasicTable", AddressOf BasicTable.MakeDoc) End Sub protected void Page_Load(object sender, EventArgs e) { C1ReportViewer.RegisterDocument("InMemoryBasicTable", BasicTable.MakeDoc); } 3. 次 のコードをメインクラスの 直 下 に 追 加 します ''' <summary> 203 Copyright GrapeCity inc. All rights reserved.

205 ''' メモリ 内 ドキュメントの BasicTable ''' </summary> Public Class BasicTable Public Shared Function MakeDoc() As C1PrintDocument Dim doc As C1PrintDocument = C1ReportViewer.CreateC1PrintDocument() Dim rtxt1 As New RenderText(doc) rtxt1.text = "このテストは C1PrintDocument 内 のテーブルの 基 本 機 能 を 示 します " & vblf & vbtab & "- テーブルの 枠 線 ( 外 側 の 線 を4 本 内 側 の 線 を2 本 指 定 できる GridLines スタイルプロ パティ);" & vblf & vbtab & "- 個 々のセルおよびセルのグループの 枠 線 ;" & vblf & vbtab & "- 離 ればなれのセルのグループのスタイル 属 性 ( 枠 線 を 含 む);" & vblf & vbtab & "- セルの 行 および 列 の スパン;" & vblf & vbtab & "- セル 内 のコンテンツの 配 置 (スパンまたはその 逆 );" & vblf & vbtab & "- テーブルヘッダーおよびフッター;" & vblf & vbtab & "- ドキュメント 内 の 任 意 の 場 所 にあるタグ (ページ 番 号 / 総 ページ 数 など)(テーブルフッターを 参 照 );" & vblf & vbtab & "- 枠 線 フォント および 背 景 画 像 を 含 む 各 種 スタイル 属 性 " & vblf & vbtab & " " & vblf rtxt1.style.font = New Font(rtxt1.Style.Font.FontFamily, 14) rtxt1.style.padding.bottom = New C1.C1Preview.Unit("5mm") doc.body.children.add(rtxt1) ' ' テーブルを 作 成 し そのセルのすべてにデモデータを 入 力 します Dim rt1 As New RenderTable(doc) Const ROWS As Integer = 100 Const COLS As Integer = 4 For row As Integer = 0 To ROWS - 1 For col As Integer = 0 To COLS - 1 Dim celltext As New RenderText(doc) celltext.text = String.Format("Cell ({0},{1})", row, col) ' rt1.cells[row, col] はセルをオンデマンドで 作 成 することに 注 意 してください ' 最 初 に 行 / 列 の 数 を 指 定 する 必 要 はありません rt1.cells(row, col).renderobject = celltext Next Next ' テーブルをドキュメントに 追 加 します doc.body.children.add(rt1) ' ' 古 い 印 刷 ドキュメントとは 異 なり 新 しい 印 刷 ドキュメントではプログラムの ' どの 時 点 でも 変 更 を 加 えることができ 変 更 内 容 はドキュメントが 表 示 されるときに ' 反 映 されます テーブルにカスタマイズを 追 加 します ' ' デフォルトでは テーブルに 枠 線 はありません 単 純 な 枠 線 を 追 加 します rt1.style.gridlines.all = New LineDef("2pt", Color.DarkGray) rt1.style.gridlines.horz = New LineDef("1pt", Color.Blue) rt1.style.gridlines.vert = New LineDef("1pt", Color.Brown) ' ' テーブルヘッダーおよびフッター ' テーブルヘッダーを 追 加 します ' 全 体 としてヘッダーを 設 定 します rt1.rowgroups(0, 2).PageHeader = True rt1.rowgroups(0, 2).Style.BackColor = Color.DarkOrchid ' スタイルでサポートされる 複 数 の 継 承 : グループのスタイルからの ' テキストの 色 はセル 自 体 のスタイルからのフォントにマージされます rt1.rowgroups(0, 2).Style.TextColor = Color.LemonChiffon rt1.rowgroups(0, 2).Style.GridLines.All = New LineDef("2pt", Color.DarkCyan) 204 Copyright GrapeCity inc. All rights reserved.

206 rt1.rowgroups(0, 2).Style.GridLines.Horz = LineDef.Empty rt1.rowgroups(0, 2).Style.GridLines.Vert = LineDef.Empty ' ヘッダー 内 に 特 定 のセルを 設 定 します DirectCast(rt1.Cells(0, 0).RenderObject, RenderText).Text = "Header row 0" DirectCast(rt1.Cells(1, 0).RenderObject, RenderText).Text = "Header row 1" rt1.cells(0, 1).SpanCols = 2 rt1.cells(0, 1).SpanRows = 2 rt1.cells(0, 1).RenderObject = New RenderText(doc) DirectCast(rt1.Cells(0, 1).RenderObject, RenderText).Text = " 複 数 行 のテーブ ルヘッダーとテーブルフッターがサポートされます" rt1.cells(0, 1).Style.TextAlignHorz = AlignHorzEnum.Center rt1.cells(0, 1).Style.Font = New Font("Arial", 14, FontStyle.Bold) ' テーブルヘッダーを 設 定 します rt1.rowgroups(rt1.rows.count - 2, 2).PageFooter = True rt1.rowgroups(rt1.rows.count - 2, 2).Style.BackColor = Color.LemonChiffon rt1.cells(rt1.rows.count - 2, 0).SpanRows = 2 rt1.cells(rt1.rows.count - 2, 0).SpanCols = rt1.cols.count - 1 rt1.cells(rt1.rows.count - 2, 0).Style.TextAlignHorz = AlignHorzEnum.Center rt1.cells(rt1.rows.count - 2, 0).Style.TextAlignVert = AlignVertEnum.Center DirectCast(rt1.Cells(rt1.Rows.Count - 2, 0).RenderObject, RenderText).Text = "これはテーブルヘッダーです " rt1.cells(rt1.rows.count - 2, 3).SpanRows = 2 rt1.cells(rt1.rows.count - 2, 3).Style.TextAlignHorz = AlignHorzEnum.Right ' タグ(ページ 番 号 /ページ 数 など)は ドキュメントの 任 意 の 場 所 に 挿 入 できます DirectCast(rt1.Cells(rt1.Rows.Count - 2, 3).RenderObject, RenderText).Text = "[PageNo]/[PageCount] ページ" ' ' デーブルでは Style.Borders はテーブルのグリッド 線 にシームレスにマージされます ' 特 定 のセルに 枠 線 を 設 定 するのは 簡 単 です rt1.cells(8, 3).Style.Borders.All = New LineDef("3pt", Color.OrangeRed) DirectCast(rt1.Cells(8, 3).RenderObject, RenderText).Text = "cell.style.borders を 使 用 して 単 一 セルに 枠 線 を 設 定 するのは 簡 単 です" ' ' セルをグループに 結 合 し それらのスタイルを 単 一 エンティティとして ' 操 作 できます ' セルをバインドする 矩 形 を 指 定 することによって セルのグループを 定 義 します DirectCast(rt1.Cells(3, 2).RenderObject, RenderText).Text = "セルをグループ に 結 合 し 単 一 エンティティとして 操 作 できます" & "(このテーブル 内 の 青 緑 色 の 背 景 のすべてのセルなど) " rt1.cells(3, 2).SpanCols = 2 rt1.cells(3, 2).SpanRows = 3 Dim cells1 As Rectangle() = New Rectangle() {New Rectangle(2, 3, 2, 3), New Rectangle(0, 10, 3, 2), New Rectangle(1, 23, 2, 4), New Rectangle(1, 36, 1, 24), New Rectangle(0, 72, 3, 6)} Dim grp1 As New UserCellGroup(cells1) grp1.style.backcolor = Color.PaleGreen grp1.style.font = New Font("Arial", 12, FontStyle.Bold) 205 Copyright GrapeCity inc. All rights reserved.

207 grp1.style.borders.all = New LineDef("2pt", Color.DarkGreen) rt1.usercellgroups.add(grp1) ' 行 / 列 のスパン DirectCast(rt1.Cells(14, 1).RenderObject, RenderText).Text = " 列 と 行 のスパ ンおよび(スパンまたはその 逆 )のセル 内 の 配 置 が 完 全 にサポートされます " rt1.cells(14, 1).SpanCols = 3 rt1.cells(14, 1).SpanRows = 5 rt1.cells(14, 1).Style.Font = New Font("Arial", 12, FontStyle.Bold Or FontStyle.Italic) rt1.cells(14, 1).Style.Borders.All = New LineDef("2pt", Color.DarkOrange) rt1.cells(14, 1).Style.TextAlignHorz = AlignHorzEnum.Center rt1.cells(14, 1).Style.TextAlignVert = AlignVertEnum.Center rt1.rowgroups(14, 5).SplitBehavior = SplitBehaviorEnum.Never Return doc End Function End Class /// <summary> /// メモリ 内 ドキュメントの BasicTable /// </summary> public class BasicTable { static public C1PrintDocument MakeDoc() { C1PrintDocument doc = C1ReportViewer.CreateC1PrintDocument(); RenderText rtxt1 = new RenderText(doc); rtxt1.text = "このテストは C1PrintDocument 内 のテーブルの 基 本 機 能 を 示 します \n" + "\t- テーブルの 枠 線 ( 外 側 の 線 を4 本 内 側 の 線 を2 本 指 定 できる GridLines スタイルプロパ ティ);\n" + "\t- 個 々のセルおよびセルのグループの 枠 線 ;\n" + "\t- 離 ればなれのセルのグループのスタイル 属 性 ( 枠 線 を 含 む);\n" + "\t- セルの 行 および 列 のスパン;\n" + "\t- セル 内 のコンテンツの 配 置 (スパンまたはその 逆 );\n" + "\t- テーブルヘッダーおよびフッター;\n" + "\t- ドキュメント 内 の 任 意 の 場 所 にあるタグ(ページ 番 号 / 総 ページ 数 など)(テーブルフッターを 参 照 );\n" + "\t- 枠 線 フォント および 背 景 画 像 を 含 む 各 種 スタイル 属 性 ;\n" + "\t \n" ; rtxt1.style.font = new Font(rtxt1.Style.Font.FontFamily, 14); rtxt1.style.padding.bottom = new C1.C1Preview.Unit("5mm"); doc.body.children.add(rtxt1); // // テーブルを 作 成 し そのセルのすべてにデモデータを 入 力 します RenderTable rt1 = new RenderTable(doc); const int ROWS = 100; const int COLS = 4; for (int row = 0; row < ROWS; ++row) { for (int col = 0; col < COLS; ++col) 206 Copyright GrapeCity inc. All rights reserved.

208 { RenderText celltext = new RenderText(doc); celltext.text = string.format("cell ({0},{1})", row, col); // rt1.cells[row, col] はセルをオンデマンドで 作 成 することに 注 意 してください // 最 初 に 行 / 列 の 数 を 指 定 する 必 要 はありません rt1.cells[row, col].renderobject = celltext; } } // テーブルをドキュメントに 追 加 します doc.body.children.add(rt1); // // 古 い 印 刷 ドキュメントとは 異 なり 新 しい 印 刷 ドキュメントではプログラムの // どの 時 点 でも 変 更 を 加 えることができ 変 更 内 容 はドキュメントが 表 示 されるときに // 表 示 されます テーブルにカスタマイズを 追 加 します // // デフォルトでは テーブルに 枠 線 はありません 単 純 な 枠 線 を 追 加 します rt1.style.gridlines.all = new LineDef("2pt", Color.DarkGray); rt1.style.gridlines.horz = new LineDef("1pt", Color.Blue); rt1.style.gridlines.vert = new LineDef("1pt", Color.Brown); // // テーブルヘッダーおよびフッター // テーブルヘッダーを 追 加 します // 全 体 としてヘッダーを 設 定 します rt1.rowgroups[0, 2].PageHeader = true; rt1.rowgroups[0, 2].Style.BackColor = Color.DarkOrchid; // タイルでサポートされる 複 数 の 継 承 : グループのスタイルからの // テキストの 色 はセル 自 体 のスタイルからのフォントにマージされます rt1.rowgroups[0, 2].Style.TextColor = Color.LemonChiffon; rt1.rowgroups[0, 2].Style.GridLines.All = new LineDef("2pt", Color.DarkCyan); rt1.rowgroups[0, 2].Style.GridLines.Horz = LineDef.Empty; rt1.rowgroups[0, 2].Style.GridLines.Vert = LineDef.Empty; // ヘッダー 内 に 特 定 のセルを 設 定 します ((RenderText)rt1.Cells[0, 0].RenderObject).Text = "Header row 0"; ((RenderText)rt1.Cells[1, 0].RenderObject).Text = "ヘッダー 行 1"; rt1.cells[0, 1].SpanCols = 2; rt1.cells[0, 1].SpanRows = 2; rt1.cells[0, 1].RenderObject = new RenderText(doc); ((RenderText)rt1.Cells[0, 1].RenderObject).Text = " 複 数 行 のテーブルヘッダーと テーブルフッターがサポートされます"; rt1.cells[0, 1].Style.TextAlignHorz = AlignHorzEnum.Center; rt1.cells[0, 1].Style.Font = new Font("Arial", 14, FontStyle.Bold); // テーブルヘッダーを 設 定 します rt1.rowgroups[rt1.rows.count - 2, 2].PageFooter = true; rt1.rowgroups[rt1.rows.count - 2, 2].Style.BackColor = Color.LemonChiffon; rt1.cells[rt1.rows.count - 2, 0].SpanRows = 2; rt1.cells[rt1.rows.count - 2, 0].SpanCols = rt1.cols.count - 1; rt1.cells[rt1.rows.count - 2, 0].Style.TextAlignHorz = AlignHorzEnum.Center; rt1.cells[rt1.rows.count - 2, 0].Style.TextAlignVert = AlignVertEnum.Center; ((RenderText)rt1.Cells[rt1.Rows.Count - 2, 0].RenderObject).Text = "これ 207 Copyright GrapeCity inc. All rights reserved.

209 はテーブルヘッダーです "; rt1.cells[rt1.rows.count - 2, 3].SpanRows = 2; rt1.cells[rt1.rows.count - 2, 3].Style.TextAlignHorz = AlignHorzEnum.Right; // タグ(ページ 番 号 /ページ 数 など)は ドキュメントの 任 意 の 場 所 に 挿 入 できます ((RenderText)rt1.Cells[rt1.Rows.Count - 2, 3].RenderObject).Text = " [PageNo]/[PageCount] ページ"; // // デーブルでは Style.Borders はテーブルのグリッド 線 にシームレスにマージされます // 特 定 のセルに 枠 線 を 設 定 するのは 簡 単 です rt1.cells[8, 3].Style.Borders.All = new LineDef("3pt", Color.OrangeRed); ((RenderText)rt1.Cells[8, 3].RenderObject).Text = "cell.style.borders を 使 用 して 単 一 セルに 枠 線 を 設 定 するのは 簡 単 です"; // // セルをグループに 結 合 し それらのスタイルを 単 一 エンティティとして // 操 作 できます // セルをバインドする 矩 形 を 指 定 することによって セルのグループを 定 義 します ((RenderText)rt1.Cells[3, 2].RenderObject).Text = "セルをグループに 結 合 して 単 一 エンティティとして 操 作 できます" + "(このテーブル 内 の 青 緑 色 の 背 景 のすべてのセルなど) "; rt1.cells[3, 2].SpanCols = 2; rt1.cells[3, 2].SpanRows = 3; Rectangle[] cells1 = new Rectangle[] { new Rectangle(2, 3, 2, 3), new Rectangle(0, 10, 3, 2), new Rectangle(1, 23, 2, 4), new Rectangle(1, 36, 1, 24), new Rectangle(0, 72, 3, 6), }; UserCellGroup grp1 = new UserCellGroup(cells1); grp1.style.backcolor = Color.PaleGreen; grp1.style.font = new Font("Arial", 12, FontStyle.Bold); grp1.style.borders.all = new LineDef("2pt", Color.DarkGreen); rt1.usercellgroups.add(grp1); // 行 / 列 のスパン ((RenderText)rt1.Cells[14, 1].RenderObject).Text = " 列 と 行 のスパンおよび(スパンまたはその 逆 )のセル 内 の 配 置 が 完 全 にサポートされます "; rt1.cells[14, 1].SpanCols = 3; rt1.cells[14, 1].SpanRows = 5; rt1.cells[14, 1].Style.Font = new Font("Arial", 12, FontStyle.Bold rt1.cells[14, 1].Style.Borders.All = new LineDef("2pt", Color.DarkOrange); rt1.cells[14, 1].Style.TextAlignHorz = AlignHorzEnum.Center; rt1.cells[14, 1].Style.TextAlignVert = AlignVertEnum.Center; rt1.rowgroups[14, 5].SplitBehavior = SplitBehaviorEnum.Never; return doc; } } このコードは C1PrintDocument テーブル 内 の 機 能 の 一 部 を 示 します このトピックの 作 業 結 果 208 Copyright GrapeCity inc. All rights reserved.

210 アプリケーションを 実 行 し 実 行 時 にリンクの1つをクリックして C1ReportViewer に 含 まれる 親 コンテナのサイズを 変 更 しま す C1ReportViewer コントロールは 親 コンテナと 共 にサイズ 変 更 されることに 注 意 してください 209 Copyright GrapeCity inc. All rights reserved.

211 レポートのタスク 別 ヘルプ タスク 別 ヘルプは ユーザーが.NET のプログラミングに 精 通 しており レポートの 基 本 的 な 知 識 を 身 に 付 け コントロールの 一 般 的 な 使 用 方 法 を 理 解 していることを 前 提 にしています ヘルプに 示 される 手 順 に 従 って 作 業 を 進 めるだけで C1Report のさまざまな 機 能 を 具 体 的 に 紹 介 するプロジェクトを 作 成 しながら C1Report の 主 要 な 機 能 と 特 長 を 理 解 できます また プロジェクトに 次 の 名 前 空 間 への 参 照 を 追 加 する 必 要 があります C1.C1Report CommonTasks.xml ほとんどのトピックでは あらかじめ 作 成 されたレポートを 使 って 図 解 入 りで 説 明 しています このレポートは CommonTasks.xml レポート 定 義 ファイルに 収 録 されています 画 像 フィールドの 追 加 C1Report デザイナを 使 用 して 非 連 結 または 連 結 の 画 像 を 追 加 したり 透 かし 模 様 を 作 成 することができます 連 結 画 像 の 作 成 バインド 画 像 は データベースフィールドに 格 納 される 画 像 です これらの 画 像 をレポートに 表 示 するには フィールドをレポー トに 追 加 し その Picture プロパティを 画 像 が 格 納 されている 列 の 名 前 を 含 む 文 字 列 に 設 定 します C1ReportDesigner を 使 用 してバインド 画 像 フィールドをレポートに 追 加 するには 1. C1ReportDesigner のデザインモードで デザインタブのフィールドグループにあるバウンドピクチャの 追 加 ボタン をクリックします これにより 現 在 のデータソースに 含 まれるすべてのバイナリフィールドがメニューに 表 示 されます 2. レポートに 追 加 するフィールドを 選 択 します コードを 使 用 してバインド 画 像 フィールドをレポートに 追 加 するには データベースのPhotoフィールドに 埋 め 込 み OLE オブジェクトまたは 未 加 工 画 像 ストリームが 格 納 されていて レポート にfEmployeePhotoというフィールドが 含 まれる 場 合 次 のコードはこのフィールドに 社 員 の 写 真 を 表 示 します コードの 書 き 方 femployeephoto.picture = "Photo" コードの 書 き 方 femployeephoto.picture = "Photo"; 完 全 なレポートについては ComponentOne Samples フォルダで 入 手 可 能 な CommonTasks.xml レポート 定 義 ファ イルのレポート 04: Bound Images を 参 照 してください 透 かし 模 様 を 含 むレポートを 作 成 する 透 かし 模 様 は レポートコンテンツの 背 後 に 表 示 される 画 像 です 通 常 透 かし 模 様 の 画 像 は 実 際 のレポートコンテンツの 邪 魔 にならないように 薄 く 表 示 されます 210 Copyright GrapeCity inc. All rights reserved.

212 画 像 を 透 かし 模 様 として 表 示 するには Picture プロパティに 画 像 を 含 むファイルを 設 定 します PictureAlign プロパティと PictureShow プロパティを 使 用 して 透 かし 模 様 の 拡 大 縮 小 と 透 かし 模 様 を 表 示 するページを 制 御 することもできます CommonTasks.xml にあるレポート 05: 透 かし 模 様 を 参 照 してください レポートフィールドの 作 成 レポート 定 義 がコンポーネントにロードされ データソースが 定 義 された 後 レポートフィールドを 追 加 して 編 集 できます C1ReportDesigner のデザインタブのフィールドグループでは フィールドをレポートに 簡 単 に 追 加 できます ボタンの 説 明 に ついては フィールドによるレポートの 強 化 を 参 照 してください フィールドをレポートに 追 加 するには これらのボタンのいずれかをクリックし 以 下 の 手 順 を 実 行 します マウスをレポート 上 にドラッグします カーソルが 十 字 に 変 わります クリックとドラッグによって 新 しいフィールドが 占 める 矩 形 を 定 義 した 後 ボタンを 解 放 して 新 しいフィールドを 作 成 します 操 作 を 中 止 する 場 合 は Escキーをヒットするか 元 に 戻 すボタンをクリックして 操 作 を 取 り 消 します C1Reportは1つの 型 の Field オブジェクトしか 持 たないことに 注 意 してください ボタンは Field オブジェクトのいくつ かのプロパティを 設 定 して 一 定 の 方 法 の 表 示 と 機 能 にするだけです あるいは 既 存 のフィールドをコピー&ペーストするか Ctrlキーを 押 したままフィールドまたはフィールドグループを 新 しい 位 置 に ドラッグしてコピーを 作 成 しても フィールドを 追 加 できます グラフの 作 成 C1Report の 初 期 バージョンでは グラフをレポートに 追 加 するにはStartSection イベントを 処 理 し グラフを 生 成 して グラフ 211 Copyright GrapeCity inc. All rights reserved.

213 画 像 をフィールドの Picture プロパティに 割 り 当 てる 必 要 がありました これは 難 しい 操 作 ではなく 依 然 として ダイナミック 画 像 をレポートに 追 加 する 最 も 柔 軟 な 方 法 です しかし この 方 法 には 次 の2つの 難 点 があります レポート 定 義 の 外 部 にコードを 記 述 する 必 要 がある つまり 記 述 したそのアプリケーションのみがレポートを 意 図 され た 表 示 方 法 で 表 示 できることを 意 味 します 退 屈 な 作 業 になるようなグラフの 生 成 コードを 記 述 する 必 要 がある 現 在 の C1Report は C1Chart コントロールに 基 づくグラフフィールドを 含 む カスタムレポートフィールドをサポートしていま す グラフフィールドをレポートの[グループヘッダー]セクションに 追 加 するには 以 下 の 手 順 を 実 行 します 1. C1ReportDesigner を 開 きます C1ReportDesigner へのアクセス 方 法 の 詳 細 については Visual Studio からの C1Report デザイナへのアクセスを 参 照 してください 2. 新 しいレポートを 作 成 する か 既 存 のレポートを 開 きます C1ReportDesigner アプリケーションでレポートを 準 備 した ら レポートのプロパティを 変 更 できます 3. 印 刷 プレビューを 閉 じるボタンをクリックし レポートの 編 集 を 開 始 します 4. デザイン タブのフィールドグループで グラフフィールドの 追 加 ボタン をクリックします 5. レポートのグループヘッダー グループヘッダーセクション 内 でクリックし フィールドをドラッグしてグラフをサイズ 変 更 します 6. プロパティウィンドウで グラフフィールドの Chart.DataX と Chart.DataY プロパティをグラフに 表 示 する 値 に 設 定 しま す Chart.DataY プロパティをセミコロン(;) 区 切 りのフィールドリスト( UnitsInStock;ReorderLevel など)に 設 定 す ると 複 数 の 系 列 を 表 示 できます グラフデータが 現 在 のレポートグループに 自 動 的 に 適 用 されます たとえば 飲 料 セクションをレンダリングすると そのカテゴ リのデータのみがグラフ 化 されます その 他 の 多 くのプロパティ(Chart.ChartType Chart.GridLines Chart.Use3D および Chart.Palette プロパティなど)を 使 用 してグラフをカスタマイズできます グラフフィールドの 作 成 方 法 の 詳 細 については グラフフィールドの 追 加 トピックを 参 照 してください 完 全 なレポートについては ComponentOne Samples フォルダで 入 手 可 能 な CommonTasks.xml レポート 定 義 ファ イルのレポート 11: Charts を 参 照 してください カスタムフィールドの 作 成 独 自 のカスタムフィールドを 作 成 し それをレポートデザイナのパレットに 追 加 できます それには 次 の 作 業 が 必 要 です 1. C1.Win.C1Report.Fieldから 派 生 されたカスタムフィールドクラスを 作 成 します 2. レポートデザイナの 設 定 ファイルでカスタムフィールドアセンブリを 登 録 します グラフフィールド グラデーションフィールドなどは カスタムフィールドとして 実 装 されています これらのカスタムフィールドの ソースコードが 用 意 されているため このソースコードに 基 づいて 独 自 のカスタムフィールドを 作 成 できます Chart フィールドと Gradient フィールドは C1Report デザイナ 設 定 ファイルの 次 のエントリで 登 録 されています <customfields> <item value="c1.win.c1report.customfields;c1.win.c1report.customfields.chart" /> <item value="c1.win.c1report.customfields;c1.win.c1report.customfields.gradient" /> </customfields> たとえば 新 しいフィールドをデザイナパレットに 追 加 するには コントロールを C1ReportDesigner.2.exe.settings ファイル の <customfields> セクションに 追 加 します <customfields> <item value="c1.win.c1report.customfields.2;c1.win.c1report.customfields.chart" /> <item value="c1.win.c1report.customfields.2;c1.win.c1report.customfields.gradient" /> <!-- この 行 によりデザイナーに 新 しいフィールドが 追 加 されます --> <item value="mycustomfieldassembly;mycustomfieldassembly.myfield" /> 212 Copyright GrapeCity inc. All rights reserved.

214 </customfields> これはフィールドが MyField という 名 前 を 持 ち MyCustomFieldAssembly というアセンブリに 格 納 されていることを 前 提 しています 完 全 なレポートについては ComponentOne Samples フォルダで 入 手 可 能 な CommonTasks.xml レポート 定 義 ファ イルのレポート 12: Custom Fields を 参 照 してください ページヘッダのカスタマイズ このセクションは ページヘッダの 動 作 をカスタマイズする 方 法 を 説 明 します ページヘッダへ 継 続 状 態 を 示 す 文 字 列 を 追 加 する Repeat プロパティを True に 設 定 すると グループヘッダー グループヘッダーセクションは 改 ページごとに 繰 り 返 されます これによりレポート は 読 みやすくなりますが ページのグループヘッダーがグループの 先 頭 をマークするのか 単 に 続 きをマークするのかを 見 分 けにくい 可 能 性 があります これに 対 処 する1つの 方 法 は たとえば fcontinued という 名 前 の 続 きラベルを 持 つフィールドをグループヘッダーに 追 加 し て スクリプトでその 表 示 / 非 表 示 を 制 御 することです これを 行 うには 以 下 の 手 順 を 実 行 します 1. C1ReportDesigner を 開 きます C1ReportDesigner へのアクセス 方 法 の 詳 細 については Visual Studio からの C1Report デザイナへのアクセスを 参 照 してください 2. 新 しいレポートを 作 成 する か 既 存 のレポートを 開 きます C1ReportDesigner アプリケーションでレポートを 準 備 した ら レポートのプロパティを 変 更 できます 3. 印 刷 プレビューを 閉 じるボタンをクリックし レポートの 編 集 を 開 始 します 4. デザインモードで プロパティウィンドウのドロップダウンリストからレポートを 選 択 します 5. Detail.OnPrint プロパティを 指 定 し その 横 にある 空 のフィールドをクリックした 後... ボタンをクリックします 6. VBScrpit エディタが 表 示 されます 次 の VBScript 式 をコードエディタに 入 力 します ' VBScript: Detail.OnPrint fcontinued.visible = true 7. 次 に プロパティウィンドウのドロップダウンリストから GroupFooter を 選 択 します 8. GroupFooter.OnPrint プロパティを 指 定 し その 横 にある 空 のフィールドをクリックした 後... ボタンをクリックしま す 9. VBScript エディタが 表 示 されます 次 の VBScript 式 をコードエディタに 入 力 します ' VBScript: GroupFooter.OnPrint fcontinued.visible = false 初 期 に fcontinued フィールドが 表 示 されない 場 合 スクリプトはラベルを 続 きのページヘッダー 上 でのみ 表 示 します このス クリプトは fcontinued フィールドをグループ 内 に 表 示 させます グループフッターの 後 で 次 の[ 明 細 ]セクションの 前 に 作 成 さ れた 任 意 の 改 ページはラベルを 表 示 しません 完 全 なレポートについては ComponentOne Samples で 入 手 可 能 な CommonTasks.xml レポート 定 義 ファイルのレ ポート 18: Continued Headers を 参 照 してください ページヘッダを 動 的 に 変 更 する ページヘッダーとページフッター ページフッターセクションをすべてのページ 上 に 表 示 するか レポートのヘッダー ヘッダーとレポートのフッター フッターセクショ ンを 含 むページ 上 で 抑 制 するかどうかを 指 定 するには C1Reports の PageHeader と PageFooter プロパティを 使 用 しま す この 動 作 をさらにカスタマイズしたい 場 合 がよくあります たとえば 奇 数 ページと 偶 数 ページに 異 なるヘッダーをレンダリング する 場 合 です これは レンダリングするページに 応 じてフィールドを 表 示 または 非 表 示 にするスクリプトを 使 用 して 行 うことが できます これを 行 うには 以 下 の 手 順 を 実 行 します 213 Copyright GrapeCity inc. All rights reserved.

215 1. C1ReportDesigner を 開 きます C1ReportDesigner へのアクセス 方 法 の 詳 細 については Visual Studio からの C1Report デザイナへのアクセスを 参 照 してください 2. 新 しいレポートを 作 成 する か 既 存 のレポートを 開 きます C1ReportDesigner アプリケーションでレポートを 準 備 した ら レポートのプロパティを 変 更 できます 3. 印 刷 プレビューを 閉 じるボタンをクリックし レポートの 編 集 を 開 始 します 4. デザインモードで プロパティウィンドウのドロップダウンリストから 明 細 を 選 択 します 5. OnFormatプロパティを 指 定 し その 横 にある 空 のフィールドをクリックした 後... ボタンをクリックします 6. VBScript エディタが 表 示 されます 次 の VBScript 式 をコードエディタに 入 力 します odd = (page mod 2 <> 0) h1odd.visible = odd h2odd.visible = odd h1even.visible = not odd h2even.visible = not odd このスクリプトは レポートヘッダーがh<x>oddとh<x>evenという 複 数 のフィールドを 含 む 場 合 に 奇 数 と 偶 数 ページ のフィールドを 表 示 または 非 表 示 にします ページヘッダーが 空 白 スペースを 表 示 しないようにするには すべてのフィールドの CanShrinkプロパティが True に 設 定 されている 必 要 があることに 注 意 してください 完 全 なレポートについては ComponentOne Samples フォルダで 入 手 可 能 な CommonTasks.xml レポート 定 義 ファ イルのレポート 09: Dynamic Page Header を 参 照 してください ページレイアウトのカスタマイズ 次 のトピックでは レポートのレイアウトをカスタマイズする 方 法 について 説 明 します 改 ページを 制 御 する デフォルトでは C1Report は 各 ページを 下 端 まで 出 力 し ページ 区 切 りを 挿 入 し 次 のページのレンダリングを 続 行 します いくつかのプロパティを 使 ってこの 動 作 を 上 書 きできます Group.KeepTogether: グループヘッダセクションを 単 独 で1つのページにレンダリングできるか グループヘッダセク ションを1つ 以 上 の 詳 細 セクションと 共 にレンダリングする 必 要 があるか それともグループ 全 体 を1つのページにまと めて 置 く 必 要 があるかを 決 定 します Section.KeepTogether: セクション 内 にページ 区 切 りを 入 れることができるかどうかを 決 定 します 優 先 度 は KeepTogether より 下 です ForcePageBreak: ページ 区 切 りをセクションの 前 後 または 前 後 に 挿 入 するかどうかを 指 定 できます Field.KeepTogether: フィールド 内 にページ 区 切 りを 入 れることができるかどうかを 決 定 します これにより 長 いテキ ストフィールドを 複 数 のページに 続 けることができます 優 先 度 は KeepTogether より 下 です ForcePageBreak: ページ 区 切 りをフィールドの 前 後 または 前 後 に 挿 入 するかどうかを 指 定 できます これらのプロパティを 設 計 時 に 設 定 したり レポートのレンダリング 中 にスクリプトを 使 って 変 更 することができます たとえば 次 のスクリプトは 詳 細 セクション 10 個 ごとにページ 区 切 りを 挿 入 します 1. C1ReportDesigner アプリケーションを 開 きます C1ReportDesigner へのアクセス 方 法 の 詳 細 については Visual Studio からの C1Report デザイナへのアクセス を 参 照 してください ) 2. 基 本 的 なレポート 定 義 ファイルの 作 成 か 既 存 のレポートを 開 きます C1ReportDesigner アプリケーションでレポー トが 表 示 され レポートのプロパティを 変 更 できます ) 3. [ 印 刷 プレビューを 閉 じる]ボタンをクリックし レポートの 編 集 を 開 始 します ) 4. デザインモードで プロパティウィンドウのドロップダウンリストから 明 細 を 選 択 します 5. OnPrint プロパティを 指 定 し その 横 にある 空 のフィールドをクリックした 後... ボタンをクリックします 6. VBScript エディタが 表 示 されます 次 のVBScript 式 をコードエディタに 入 力 します cnt = cnt + 1 detail.forcepagebreak = "none" 214 Copyright GrapeCity inc. All rights reserved.

216 if cnt >= 10 then cnt = 0 detail.forcepagebreak = "after" endif CommonTasks.xml にあるレポート 07: 強 制 的 な 改 ページ を 参 照 してください フィールドのサイズを 自 動 的 に 調 整 する レポートフィールドに 複 数 の 行 にまたがるコンテンツやまったく 行 を 占 有 しないコンテンツが 含 まれることはよくあります 場 合 によっては はみ 出 たコンテンツを 切 り 捨 てたり レポートに 余 白 を 残 すのではなく コンテンツの 大 きさに 合 わせてフィールドを 拡 大 縮 小 する 必 要 があります それには Field オブジェクトのCanGrow プロパティと CanShrink プロパティを true に 設 定 します フィールドが 拡 大 すると その 下 にあるフィールドが 押 し 下 げられます 同 様 に フィールドが 縮 小 すると その 下 にあるフィー ルドが 押 し 上 げられます この 場 合 の 下 とは 次 の 図 に 示 すように 狭 い 意 味 での 下 真 下 です フィールド1が 拡 大 または 縮 小 すると フィールド2とフィールド3は 上 下 に 移 動 します フィールド4は フィールド1の 真 下 にな いため 影 響 を 受 けません 図 の 影 付 きの 部 分 は フィールド1の 影 響 を 受 ける 領 域 を 示 します フィールド4をフィールド2やフィールド3と 並 べて 配 置 する 場 合 は 全 領 域 にわたる 特 別 なフィールドをフィールド2~4の 上 に 追 加 します 新 しいフィールドがフィールド1によって 下 に 移 動 すると フィールド2~4も 下 に 移 動 します 次 の 図 は この 新 し いレイアウトを 示 します 215 Copyright GrapeCity inc. All rights reserved.

217 CommonTasks.xml にあるレポート 06: 高 さと 表 示 位 置 の 自 動 調 整 を 参 照 してください とじしろ 余 白 の 作 成 とじしろ 余 白 は 綴 じ 込 みの 横 の 余 白 に 追 加 される 余 分 なスペースです これらはページをフォルダ パンフレットなどに 製 本 し やすくします とじしろ 余 白 をレポートに 追 加 するには 奇 数 ページの MarginLeft プロパティを 増 加 し 偶 数 ページでデフォルト 値 を 使 用 す る 必 要 があります これはスクリプトで 行 うことができます レンダリングするページに 基 づいて 余 白 を 変 更 するスクリプトを 追 加 するには 以 下 の 手 順 を 実 行 します 1. C1ReportDesigner を 開 きます C1ReportDesigner へのアクセス 方 法 の 詳 細 については Visual Studio からの C1Report デザイナへのアクセスを 参 照 してください 2. 新 しいレポートを 作 成 する か 既 存 のレポートを 開 きます C1ReportDesigner アプリケーションでレポートを 準 備 した ら レポートのプロパティを 変 更 できます 3. 印 刷 プレビューを 閉 じるボタンをクリックし レポートの 編 集 を 開 始 します 4. デザインモードで プロパティウィンドウのドロップダウンリストから 明 細 を 選 択 します 5. OnPrint プロパティを 指 定 し その 横 にある 空 のフィールドをクリックした 後... ボタンをクリックします 6. VBScrpit エディタが 表 示 されます 次 の VBScript 式 をコードエディタに 入 力 します ' VBScript: Report.OnOpen gutter = report.layout.marginleft ' initialize variable 216 Copyright GrapeCity inc. All rights reserved.

218 ' VBScript: Report.OnPage report.layout.marginleft = _ Iif(page mod 2 = 1, gutter, gutter ) 完 全 なレポートについては ComponentOne Samples フォルダで 入 手 可 能 な CommonTasks.xml レポート 定 義 ファ イルのレポート 10: Gutter を 参 照 してください グローバル 定 数 の 定 義 と 使 用 レポート 内 のグローバル 定 数 を 定 義 および 使 用 するための 特 別 なメカニズムはありませんが 非 表 示 のフィールドをレポート に 追 加 して その 値 をグローバルパラメータとして 使 用 できます これを 行 うには 以 下 の 手 順 を 実 行 します 1. C1ReportDesigner を 開 きます C1ReportDesigner へのアクセス 方 法 の 詳 細 については Visual Studio からの C1Report デザイナへのアクセスを 参 照 してください 2. 新 しいレポートを 作 成 する か 既 存 のレポートを 開 きます C1ReportDesigner アプリケーションでレポートを 準 備 した ら レポートのプロパティを 変 更 できます 3. 印 刷 プレビューを 閉 じるボタンをクリックし レポートの 編 集 を 開 始 します 4. デザインタブのフィールドグループで ラベルの 追 加 ボタンをクリックし フィールドをレポートに 追 加 します 5. レポート 上 のフィールドの 配 置 先 をクリックし ドラッグによってフィールドをサイズ 変 更 します 6. フィールドの 以 下 のプロパティを 設 定 します Field.Name = linesperpage Field.Text = 14 Field.Visible = False 7. 1ページの 明 細 行 の 数 を 制 御 するには スクリプトを 使 用 します プロパティウィンドウのドロップダウンリストから 明 細 を 選 択 します 8. OnPrintプロパティを 指 定 し その 横 にある 空 のフィールドをクリックした 後... ボタンをクリックします VBScript エディタが 表 示 されます 9. 次 の VBScript 式 をコードエディタに 入 力 します cnt = cnt + 1 detail.forcepagebreak = "none" if cnt >= linesperpage then cnt = 0 detail.forcepagebreak = "after" endif レポートをレンダリングする 前 に フィールドの Text プロパティを 変 更 して linesperpage フィールドの 値 を 設 定 できる ことに 注 意 してください 完 全 なレポートについては ComponentOne Samples フォルダで 入 手 可 能 な CommonTasks.xml レポート 定 義 ファ イルのレポート 08: Global Constant を 参 照 してください カスタム 用 紙 サイズの 指 定 デフォルトでは C1Report はデフォルトプリンタ 上 のデフォルト 用 紙 サイズを 使 用 してレポートを 作 成 します PaperSize と Orientation プロパティを 使 用 し 用 紙 のサイズと 向 きを 指 定 できます ただし C1Report は レンダリングす る 前 に 選 択 された 用 紙 サイズが 現 在 のプリンタ 上 で 使 用 可 能 であることを 確 認 し 選 択 された 設 定 が 使 用 できない 場 合 はデ フォルト 用 紙 サイズに 変 更 します 使 用 可 能 なプリンタに 関 係 なく 特 定 の 用 紙 サイズを 指 定 して 使 用 する 場 合 PaperSize プロパティを Custom に 設 定 し CustomWidth と CustomHeight プロパティをこのページサイズtwips 単 位 に 設 定 します C1ReportDesigner を 使 用 してレポートに 25" x 11" のカスタム 用 紙 サイズを 指 定 するには 1. C1ReportDesigner を 開 きます C1ReportDesigner へのアクセス 方 法 の 詳 細 については Visual Studio からの C1Report デザイナへのアクセスを 参 照 してください 217 Copyright GrapeCity inc. All rights reserved.

219 2. 新 しいレポートを 作 成 する か 既 存 のレポートを 開 きます C1ReportDesigner アプリケーションでレポートを 準 備 した ら レポートのプロパティを 変 更 できます 3. 印 刷 プレビューを 閉 じるボタンをクリックし レポートの 編 集 を 開 始 します 4. デザインモードで プロパティウィンドウのドロップダウンリストからレポートを 選 択 します 5. Layout を 指 定 し プロパティノードを 展 開 して すべての 使 用 可 能 なプロパティを 表 示 します 6. Custom Height プロパティを 25" または 25in に 設 定 します 値 が twips に 自 動 的 に 変 換 されることに 注 意 してください プロパティウィンドウに 測 定 値 が twips(36000)で 表 示 され ます 7. Custom Height プロパティを 11" または 11in に 設 定 します プロパティウィンドウに 測 定 値 が twips(15840)で 表 示 されます 8. PaperSize プロパティを Custom に 設 定 します コードを 使 用 してレポートに 25" x 11" のカスタム 用 紙 サイズを 指 定 するには プリンタ 上 で 使 用 可 能 な 用 紙 サイズに 関 係 なく 次 のコードはレポート 用 紙 を 25" x 11" に 設 定 します コードの 書 き 方 c1r.layout.papersize = PaperKind.Custom c1r.layout.customheight = 25 * 1440 ' in twips c1r.layout.customwidth = 11 * 1440 コードの 書 き 方 c1r.layout.papersize = PaperKind.Custom; c1r.layout.customheight = 25 * 1440; // in twips c1r.layout.customwidth = 11 * 1440; 完 全 なレポートについては ComponentOne Samples フォルダで 入 手 可 能 な CommonTasks.xml レポート 定 義 ファ イルのレポート 02: Custom Paper Size を 参 照 してください レポートのフォーマット 次 のトピックでは レポートに 書 式 設 定 を 適 用 する 方 法 について 説 明 します プロパティウィンドウでプロパティを 変 更 したり VBScript 式 に 数 行 のスクリプトを 追 加 するだけで レポートを 見 栄 えよくすることができます 1 行 おきに 色 を 変 更 する 背 景 色 の 追 加 1 行 おきに 色 を 変 更 する 背 景 色 を 持 つレポートを 作 成 するには 明 細 セクションの OnPrint プロパティを 使 用 し このセクショ ンのBackColor プロパティを 変 更 します これを 行 うには 以 下 の 手 順 を 実 行 します 1. C1ReportDesigner を 開 きます C1ReportDesigner へのアクセス 方 法 の 詳 細 については Visual Studio からの C1Report デザイナへのアクセスを 参 照 してください 2. 新 しいレポートを 作 成 する か 既 存 のレポートを 開 きます C1ReportDesigner アプリケーションでレポートを 準 備 した ら レポートのプロパティを 変 更 できます 3. 印 刷 プレビューを 閉 じるボタンをクリックし レポートの 編 集 を 開 始 します 4. デザインモードで プロパティウィンドウのドロップダウンリストからレポートを 選 択 します 5. OnOpen プロパティを 指 定 し cnt = 0 を 入 力 します これにより cnt 変 数 が 初 期 化 されます 6. 次 に プロパティウィンドウのドロップダウンリストから 明 細 を 選 択 します 7. OnPrint プロパティを 指 定 し その 横 にある 空 のフィールドをクリックした 後... ボタンをクリックします 8. VBScrpit エディタが 表 示 されます 次 の VBScript 式 をコードエディタに 入 力 します 218 Copyright GrapeCity inc. All rights reserved.

220 cnt = cnt + 1 if cnt mod 2 = 0 then detail.backcolor = rgb(200,220,200) else detail.backcolor = rgb(255,255,255) endif 9. プレビューボタンをクリックし 1 行 おきに 色 を 変 更 する 背 景 を 持 つレポートをプレビューします このトピックでは 次 のことを 示 します このレポートは1 行 おきに 色 を 変 更 する 背 景 色 を 示 します 明 細 セクションがレンダリングされるたびに カウンタがインクリメントして 明 細 セクションの BackColor プロパティがトグルし ます 完 全 なレポートについては ComponentOne Samples フォルダで 入 手 可 能 な CommonTasks.xml レポート 定 義 ファ イルのレポート 01: Alternating Background (Greenbar report) を 参 照 してください 条 件 付 き 書 式 の 追 加 場 合 によっては 表 すデータに 応 じてフィールドの 外 観 を 変 更 したい 場 合 があります たとえば 株 の 高 値 や 安 値 の 項 目 を 強 調 表 示 したい 場 合 です これはスクリプトで 行 うことができます これを 行 うには 以 下 の 手 順 を 実 行 します 1. C1ReportDesigner を 開 きます C1ReportDesigner へのアクセス 方 法 の 詳 細 については Visual Studio からの C1Report デザイナへのアクセスを 参 照 してください 2. 新 しいレポートを 作 成 する か 既 存 のレポートを 開 きます C1ReportDesigner アプリケーションでレポートを 準 備 した ら レポートのプロパティを 変 更 できます 3. 印 刷 プレビューを 閉 じるボタンをクリックし レポートの 編 集 を 開 始 します 4. デザインモードで プロパティウィンドウの 明 細 (このセクションに 条 件 付 き 書 式 の 追 加 先 フィールドがあるため)を 選 択 します 5. OnFormatプロパティを 指 定 し その 横 にある 空 のフィールドをクリックした 後... ボタンをクリックします 6. VBScript エディタが 表 示 されます 次 の VBScript 式 をコードエディタに 入 力 します ' VBScript: Detail.OnFormat If UnitsInStock + UnitsOnOrder < ReorderLevel And _ Discontinued = False Then Detail.BackColor = rgb(255,190,190) Else Detail.BackColor = vbwhite Endif このスクリプトは UnitsInStock UnitsOnOrder ReorderLevel および Discontinued の 各 フィールドの 値 に 応 じ て 明 細 セクションの BackColorプロパティを 変 更 します 219 Copyright GrapeCity inc. All rights reserved.

221 完 全 なレポートについては ComponentOne Samples フォルダで 入 手 可 能 な CommonTasks.xml レポート 定 義 ファ イルのレポート 16: Conditional Formatting を 参 照 してください 値 に 基 づいたフィールドの 書 式 の 編 集 詳 細 セクションのOnFormatプロパティに 式 を 指 定 することで 値 に 基 づいてレポートフィールドの 書 式 を 変 更 できます OnFormat プロパティで 式 を 指 定 するには 次 の 手 順 を 実 行 します 1. C1Report デザイナを 開 き 新 しいレポートを 作 成 するか 既 存 のレポートを 開 きます C1Report デザイナにレポートを 開 いたら レポートのプロパティを 変 更 することができます 2. レポートの 編 集 を 開 始 するには 設 計 ボタンをクリックします 3. 設 計 モードで プロパティウィンドウのドロップダウンリストから 詳 細 を 選 択 します これで プロパティウィンドウに 詳 細 セクションのプ ロパティが 表 示 されます 4. OnFormat プロパティを 探 し プロパティの 横 の 省 略 符 ボタンをクリックします 5. VBScript エディタが 表 示 され ここで 式 を 指 定 できます 次 の 式 は UnitsInStock 値 と UnitsOnOrder 値 の 合 計 が ReorderLevel 値 より 小 さい 場 合 に UnitsInStock フィールドの ForeColor を 赤 色 に 変 更 します このような 式 を 複 数 の 方 法 で 記 述 できます オプション 1: UnitsInStockCtl.Forecolor = Iif(UnitsInStock + UnitsOnOrder < ReorderLevel, vbred, vbblack) オプション 2: lowstock = UnitsInStock + UnitsOnOrder < ReorderLevel UnitsInStockCtl.Forecolor = Iif(lowStock, vbred, vbblack) オプション 3: If UnitsInStock + UnitsOnOrder < ReorderLevel Then UnitsInStockCtl.Forecolor = vbred Else UnitsInStockCtl.Forecolor = vbblack End If オプション 4: color = Iif(UnitsInStock + UnitsOnOrder < ReorderLevel, vbred, vbblack) UnitsInStockCtl.Forecolor = color このトピックの 作 業 結 果 UnitsInStock と UnitsOnOrder の 合 計 が ReorderLevel より 小 さいため Outback Lager の UnitsInStock 値 が 赤 色 に 書 式 設 定 され ています ゼロの 表 示 と 非 表 示 を 制 御 する 220 Copyright GrapeCity inc. All rights reserved.

222 値 0のフィールドを 非 表 示 にするには フィールドの Format プロパティを # に 設 定 します シャープ 記 号 は 有 効 桁 だけを 表 示 する( 先 頭 および 末 尾 の0は 表 示 しない) 書 式 設 定 記 号 です 特 定 の 桁 数 を 表 示 するには 0000 などの 書 式 を 使 用 します この 0 は 表 示 する 桁 を 示 し 必 要 に 応 じて 先 頭 または 末 尾 の0も 表 示 されます 各 書 式 文 字 列 では 最 大 3つのセクションをセミコロンで 区 切 って 指 定 できます 2つのセクションが 指 定 されている 場 合 最 初 のセクションは 正 の 値 と0に 対 して 使 用 され 2 番 目 は 負 の 値 に 使 用 されます 3つのセクションが 指 定 されている 場 合 最 初 のセクションは 正 の 値 に 対 して 使 用 され 2 番 目 は 負 の 値 に 使 用 され 3 番 目 は0に 使 用 されます たとえば #;(#);ZERO と 指 定 します CommonTasks.xml にあるレポート 21: ゼロの 表 示 と 非 表 示 を 参 照 してください 非 連 結 画 像 の 作 成 非 連 結 画 像 は データベースに 格 納 されないロゴや 透 かし 模 様 などの 静 的 画 像 です レポートに 非 連 結 画 像 フィールドを 追 加 するには 次 のタスクを 実 行 します 1. C1Report デザイナ を 開 き 新 しいレポートを 作 成 するか 既 存 のレポートを 開 きます C1Report デザイナにレポート を 開 いたら レポートのプロパティを 変 更 することができます 2. レポートの 編 集 を 開 始 するには 設 計 ボタンをクリックします 3. 設 計 モードで 非 連 結 画 像 の 追 加 ボタン をクリックします 開 くダイアログボックスが 表 示 されます 4. レポートに 入 れる 画 像 ファイルを 選 択 し 開 くをクリックします 5. 画 像 を 配 置 するレポートをクリックし フィールドをサイズ 変 更 して 画 像 を 表 示 します 次 の 非 連 結 画 像 がレポートに 追 加 され サイズ 変 更 されています 221 Copyright GrapeCity inc. All rights reserved.

223 画 像 ファイルは レポート 定 義 に 埋 め 込 むことも 外 部 ファイルを 参 照 することもできます オプションを 選 択 するには デザイナで 表 示 オプションを 選 択 します C1Report デザイナオプ ションダイアログボックスが 表 示 され ここで 選 択 を 行 うことができます CommonTasks.xml にあるレポート 03: アンバウンド 画 像 を 参 照 してください レポート 定 義 の 読 み 込 み C1Report は レポート 定 義 と 未 加 工 データを 組 み 合 わせてレポートを 作 成 することで 機 能 します レポートを 作 成 するに は C1Report にレポート 定 義 をロードする 必 要 があります 次 のトピックでは レポート 定 義 をロードする 方 法 をいくつか 説 明 します ファイルから 読 み 込 む C1ReportDesigner を 使 用 して レポート 定 義 ファイル(1つ 以 上 のレポート 定 義 を 含 む XML ファイル)を 作 成 できま す C1ReportDesigner の 使 用 方 法 については このマニュアルの C1ReportDesigner の 操 作 セクションを 参 照 してくださ い 222 Copyright GrapeCity inc. All rights reserved.

ReportViewer for ASP.NET Web Forms

ReportViewer for ASP.NET Web Forms ReportViewer for ASP.NET Web Forms 2018.04.24 更新 グレープシティ株式会社 目次 製品の概要 8 ComponentOne for ASP.NET Web Forms のヘルプ 8 主な特長 9-10 機能一覧 11 レポートビューワの機能 11 レポート / ドキュメントの作成機能 11 キャッシュの機能 11-12 テーマの機能 12 デザイン時の機能

More information

Microsoft Word - word_05.docx

Microsoft Word - word_05.docx 第 1 章 葉 書 き 作 成 と 外 国 語 の 入 力 縦 書 きのはがき 作 成 1. ページレイアウト タブの ページ 設 定 グループから 起 動 ツールボタン をク リックする 2. ページ 設 定 ダイアログボックスの 用 紙 余 白 文 字 数 と 行 数 タブをクリッ クして 指 定 されたとおり 設 定 を 行 う( 用 紙 :はがき 余 白 : 上 下 15 ミリ 左 右 :10

More information

Acrobat早分かりガイド

Acrobat早分かりガイド Adobe PDF を 加 工 編 集 する PDF を 再 利 用 する PDF ファイルの Word 文 書 書 き 出 し [ 名 前 を 付 けて 保 存 ] ダイアログが 開 くので ファイルの 書 き 出 し 先 を 指 定 し [ 保 存 ] ボタンをクリックします Acrobat を 使 用 すると Adobe PDF から Word の フォーマットに 書 き 出 してファイルを

More information

目 次 1. Web メールのご 利 用 について... 2 2. Web メール 画 面 のフロー 図... 3 3. Web メールへのアクセス... 4 4. ログイン 画 面... 5 5. ログイン 後 (メール 一 覧 画 面 )... 6 6. 画 面 共 通 項 目... 7 7.

目 次 1. Web メールのご 利 用 について... 2 2. Web メール 画 面 のフロー 図... 3 3. Web メールへのアクセス... 4 4. ログイン 画 面... 5 5. ログイン 後 (メール 一 覧 画 面 )... 6 6. 画 面 共 通 項 目... 7 7. Web メール 操 作 説 明 書 京 都 与 謝 野 町 有 線 テレビ 0 目 次 1. Web メールのご 利 用 について... 2 2. Web メール 画 面 のフロー 図... 3 3. Web メールへのアクセス... 4 4. ログイン 画 面... 5 5. ログイン 後 (メール 一 覧 画 面 )... 6 6. 画 面 共 通 項 目... 7 7. メール 一 覧 画 面...

More information

006-021_責)Wordトレ2-1章_斉

006-021_責)Wordトレ2-1章_斉 . Wordの 起 動 Wordの 基 礎 知 識. Wordの 起 動 Wordの 起 動 は 次 のように 行 います 他 のアプリケーションソフトのように いくつかの 起 動 方 法 があります スタートメニューからの 起 動 スタートメニューから 起 動 する 方 法 は 次 の 通 りです [スタート]メニューの[すべてのプログラム]から[Microsoft-Office]の [Microsoft-Word]を

More information

地域ポータルサイト「こむねっと ひろしま」

地域ポータルサイト「こむねっと ひろしま」 5. エディタの 使 い 方 5.1. エディタとは? NetCommons の 全 モジュールで 共 通 する 編 集 画 面 です 5.2. 通 常 のエディタの 使 い 方 (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17)(18) (19)(20)(21) (22) (23) (24) (25)

More information

Microsoft Word - 03accessデータベース演習レジメ.doc

Microsoft Word - 03accessデータベース演習レジメ.doc Access データベース 演 習 1ワードでデータベースの 基 礎 になるテキストデータを 整 形 し 2Excel でのデータベースの 基 本 的 な 扱 いに 慣 れ さらに3Access を 用 いて クエリやリレーションシップの 概 念 を 理 解 し Excel との 連 携 を 実 践 することを 目 的 とする 題 材 としては 定 期 試 験 対 策 用 の 英 単 語 リストを

More information

KINGSOFT Office 2016 動 作 環 境 対 応 日 本 語 版 版 共 通 利 用 上 記 動 作 以 上 以 上 空 容 量 以 上 他 接 続 環 境 推 奨 必 要 2

KINGSOFT Office 2016 動 作 環 境 対 応 日 本 語 版 版 共 通 利 用 上 記 動 作 以 上 以 上 空 容 量 以 上 他 接 続 環 境 推 奨 必 要 2 目 次 動 作 環 境 特 長 方 法 方 法 起 動 終 了 方 法 方 法 操 作 方 法 使 方 使 方 使 方 詳 細 設 定 使 方 KINGSOFT Office 2016 動 作 環 境 対 応 日 本 語 版 版 共 通 利 用 上 記 動 作 以 上 以 上 空 容 量 以 上 他 接 続 環 境 推 奨 必 要 2 KINGSOFT Office 2016 特 長 主 特 長 以

More information

160 アプリケーションとデータ 管 理 8.1 Microsoft Office Mobile Office Mobileでは 以 下 の4つのアプリケーションを 使 用 して Microsoft 文 書 を 作 成 編 集 閲 覧 することができます Word Mobile は Microsof

160 アプリケーションとデータ 管 理 8.1 Microsoft Office Mobile Office Mobileでは 以 下 の4つのアプリケーションを 使 用 して Microsoft 文 書 を 作 成 編 集 閲 覧 することができます Word Mobile は Microsof 第 8 章 アプリケーションとデータ 管 理 8.1 Microsoft Office Mobile 8.2 Adobe Reader LEを 使 う 8.3 ファイルをコピー/ 管 理 する 8.4 ZIP を 使 う 160 アプリケーションとデータ 管 理 8.1 Microsoft Office Mobile Office Mobileでは 以 下 の4つのアプリケーションを 使 用 して

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 1 山 都 町 移 住 定 住 サイト マイホームページ 操 作 説 明 書 平 成 26 年 3 月 10 日 2 会 員 登 録 からホームページ 公 開 まで 会 員 仮 登 録 本 登 録 申 請 ログイン センター 承 認 ホームページ 公 開 センター 承 認 公 開 申 請 ホームページ 作 成 ホームページ 作 成 の4つのステップ 1 ホームページの 設 定 (p4) 2 レイアウト

More information

1

1 Excelファイルアクセス 1. 概 要 Excel ファイルアクセスコンポーネントは Microsoft Excel のファイルを 開 いてセルの 値 や 書 式 を 取 得 変 更 したり テーブル 全 体 を 新 しいファイルと して 保 存 したりするために 用 います Excel ファイルアクセスコンポーネントは アプリケーションビルダーのメニューから 以 下 のように 選 びます [コンポーネント

More information

Microsoft Word - TechSmith Deployment Tool Documentation.docx

Microsoft Word - TechSmith Deployment Tool Documentation.docx TechSmith Deployment Tool マニュアル TechSmith Deployment Tool は Snagit や Camtasia Studio の 組 織 全 体 への 展 開 を 担 当 する Windows IT 管 理 者 のために 設 計 されたツールです このツールのイン ターフェイスを 使 用 することで 効 率 的 かつエラーのない 方 法 で MST ( 変

More information

1. アクセスする 2. 簡 易 検 索 画 面 (fig. 1) アクセスすると 最 初 に 出 る 画 面 です 検 索 語 入 力 ボックスにキーワードを 入 力 して 論 文 検 索 ボタンをクリックし ます 3. ボックス 下 部 のチェック 項

1. アクセスする  2. 簡 易 検 索 画 面 (fig. 1) アクセスすると 最 初 に 出 る 画 面 です 検 索 語 入 力 ボックスにキーワードを 入 力 して 論 文 検 索 ボタンをクリックし ます 3. ボックス 下 部 のチェック 項 CiNii Articles を 使 う 2013 芳 野 明 / 京 都 嵯 峨 芸 術 大 学 西 洋 美 術 史 博 物 館 学 研 究 室 1. アクセスする http://ci.nii.ac.jp/ 2. 簡 易 検 索 画 面 (fig. 1) アクセスすると 最 初 に 出 る 画 面 です 検 索 語 入 力 ボックスにキーワードを 入 力 して 論 文 検 索 ボタンをクリックし

More information

ComboBox for ASP.NET Web Forms

ComboBox for ASP.NET Web Forms 2018.04.24 更新 グレープシティ株式会社 目次 製品の概要 2 ComponentOne for ASP.NET Web Forms のヘルプ 2 主な特長 3 クイックスタート 4 手順 1: アプリケーションの作成 4 手順 2: コントロールへの項目の追加 4 手順 3: 選択した項目のイベントハンドラの作成 4-5 手順 4: プロジェクトの実行 5 デザイン時のサポート 6 C1ComboBox

More information

目 次 1. 積 算 内 訳 書 に 関 する 留 意 事 項 1 ページ 2. 積 算 内 訳 書 のダウンロード 3 ページ 3. 積 算 内 訳 書 の 作 成 (Excel 2003の 場 合 ) 6 ページ 4. 積 算 内 訳 書 の 作 成 (Excel 2007の 場 合 ) 13

目 次 1. 積 算 内 訳 書 に 関 する 留 意 事 項 1 ページ 2. 積 算 内 訳 書 のダウンロード 3 ページ 3. 積 算 内 訳 書 の 作 成 (Excel 2003の 場 合 ) 6 ページ 4. 積 算 内 訳 書 の 作 成 (Excel 2007の 場 合 ) 13 積 算 内 訳 書 の 作 成 マニュアル 平 成 26 年 1 形 県 県 整 備 部 建 設 企 画 課 目 次 1. 積 算 内 訳 書 に 関 する 留 意 事 項 1 ページ 2. 積 算 内 訳 書 のダウンロード 3 ページ 3. 積 算 内 訳 書 の 作 成 (Excel 2003の 場 合 ) 6 ページ 4. 積 算 内 訳 書 の 作 成 (Excel 2007の 場 合 )

More information

■新聞記事

■新聞記事 PowerPoint2013 基 本 操 作 P.1 PowerPoint2013 基 本 操 作 1.PowerPoint2013 の 起 動... 2 2.スライドのサンプル... 3 3.スライドの 作 成... 4 4. 文 字 の 入 力 とテキストボックス... 5 5. 図 の 作 成 と 書 式 設 定... 5 6.グラフの 作 成... 6 7. 背 景 デザインと 配 色...

More information

Microsoft Word - 203MSWord2013

Microsoft Word - 203MSWord2013 3.1 Word 2013 の 起 動 第 3 章 ワープロ 1.Word 2013 の 起 動 (1)マウスの 左 ボタンでスタートボタンをクリックします (2)[すべてのプログラム] [Microsoft Office 2013] [Word 2013]の 順 にマウスをクリックすると Word 2013 の 初 期 画 面 ( 図 3-1)が 開 かれます クイックアクセスツールバー タイトルバー

More information

スライド 1

スライド 1 アリババ ワールドパスポート 製 品 詳 細 ご 利 用 ガイド 2010/03/11 Ver1.00 2012/10/09 Ver1.50 お 問 い 合 わせ 先 アリババ 株 式 会 社 メール:infoggs@alibaba-inc.jp 103-0007 東 京 都 中 央 区 日 本 橋 浜 町 2-12-4 エスエス 製 薬 本 社 ビル4F 目 次 文 字 装 飾 の 追 加 変 更

More information

<4D6963726F736F667420576F7264202D20457863656C82CC8AEE91625F87542D825181408F9182AB8AB782A68CE32E646F63>

<4D6963726F736F667420576F7264202D20457863656C82CC8AEE91625F87542D825181408F9182AB8AB782A68CE32E646F63> EXCEL 0 データベース 機 能 について データベースとは 関 連 する 個 々のデータをまとめたものです 例 えば 学 生 名 簿 学 生 の 成 績 簿 教 員 と 担 当 教 科 成 績 表 など あるいは 商 品 台 帳 社 員 名 簿 顧 客 台 帳 などが データベースになります これらデータベースは 管 理 され また 運 用 できなければなりま せん Excel では データベースをリストで

More information

メール 受 信 画 面 のレイアウトを 変 更 することができます ここでは 初 期 設 定 のレイアウトで 表 示 されているボタ ンやマークについて 解 説 します メール 一 覧 画 面 には 受 信 したメールが 一 覧 表 示 されます メール 受 信 タブをクリックすると 受 信 箱 フ

メール 受 信 画 面 のレイアウトを 変 更 することができます ここでは 初 期 設 定 のレイアウトで 表 示 されているボタ ンやマークについて 解 説 します メール 一 覧 画 面 には 受 信 したメールが 一 覧 表 示 されます メール 受 信 タブをクリックすると 受 信 箱 フ .3 1...3 メール 受 信 タブのサブメニューから 直 接 受 信 箱 以 外 のフォルダを 表 示 することもできます 共 有 メー ルボックスのフォルダは 指 定 できません 3. 35 メール 受 信 画 面 のレイアウトを 変 更 することができます ここでは 初 期 設 定 のレイアウトで 表 示 されているボタ ンやマークについて 解 説 します メール 一 覧 画 面 には 受

More information

1.2. ご 利 用 環 境 1.2.1. 推 奨 ブラウザ Internet Explorer 10 11 Google Chrome(バージョン 32 時 点 で 動 作 確 認 済 み) Mozilla Firefox(バージョン 26 時 点 で 動 作 確 認 済 み) Safari 7

1.2. ご 利 用 環 境 1.2.1. 推 奨 ブラウザ Internet Explorer 10 11 Google Chrome(バージョン 32 時 点 で 動 作 確 認 済 み) Mozilla Firefox(バージョン 26 時 点 で 動 作 確 認 済 み) Safari 7 1. アーカイブデータベースを 検 索 / 閲 覧 する 1.1. データの 検 索 方 法 東 京 アーカイブ では 以 下 に 分 類 されるカテゴリの 画 像 データ 資 料 データを 閲 覧 できます 江 戸 城 浮 世 絵 双 六 和 漢 書 江 戸 東 京 の 災 害 記 録 絵 葉 書 写 真 帖 近 代 の 地 図 東 京 府 東 京 市 関 係 資 料 番 付 建 築 図 面 書

More information

目 次 JAVIS Appli の 基 本 機 能... 3 JAVIS Appli について... 3 音 声 確 認 機 能 JAVIS Appli( 有 償 版 )の 機 能... 4 音 声 で 読 みの 確 認 をする... 4 辞 書 機 能... 5 単 語 を 登 録 する... 5

目 次 JAVIS Appli の 基 本 機 能... 3 JAVIS Appli について... 3 音 声 確 認 機 能 JAVIS Appli( 有 償 版 )の 機 能... 4 音 声 で 読 みの 確 認 をする... 4 辞 書 機 能... 5 単 語 を 登 録 する... 5 アドイン 版 ********************************************* 操 作 説 明 書 ********************************************* 目 次 JAVIS Appli の 基 本 機 能... 3 JAVIS Appli について... 3 音 声 確 認 機 能 JAVIS Appli( 有 償 版 )の 機 能...

More information

目 次 1. 動 作 環 境 3 2.インストールおよび 起 動 3 2-1. 画 像 管 理 システムのインストール 3 2-2. 画 像 管 理 システムの 起 動 3 2-3.ユーザー 登 録 と 運 用 番 号 の 入 力 5 3.システム 概 要 6 4. 基 本 操 作 7 4-1. 画

目 次 1. 動 作 環 境 3 2.インストールおよび 起 動 3 2-1. 画 像 管 理 システムのインストール 3 2-2. 画 像 管 理 システムの 起 動 3 2-3.ユーザー 登 録 と 運 用 番 号 の 入 力 5 3.システム 概 要 6 4. 基 本 操 作 7 4-1. 画 画 像 管 理 システム 基 本 操 作 マニュアル 日 本 語 データベース 桐 Ver9-2006 版 有 限 会 社 タ イ ム 福 岡 市 博 多 区 博 多 駅 前 4-33-11-1- URL http://www.timsoft.co.jp 目 次 1. 動 作 環 境 3 2.インストールおよび 起 動 3 2-1. 画 像 管 理 システムのインストール 3 2-2. 画 像 管

More information

1.3. アドインボタンの 場 所 2007 / 2010 / 2013 / 2016 の 各 バージョンのアプリケーションにおいては アドインボタン はリボン 名 アンテナハウス に 登 録 されます アドインボタンの 表 示 状 態 (Word 2010 の 例 ) アドインボタンの 表 示 状

1.3. アドインボタンの 場 所 2007 / 2010 / 2013 / 2016 の 各 バージョンのアプリケーションにおいては アドインボタン はリボン 名 アンテナハウス に 登 録 されます アドインボタンの 表 示 状 態 (Word 2010 の 例 ) アドインボタンの 表 示 状 1. Antenna House PDF Driver の Office アドイン 機 能 について 本 機 能 は PDF Driver のバンドル 製 品 の 仕 様 やライセンスの 種 類 などにより 実 装 さ れていない 場 合 があります 1.1. アドイン 機 能 の 概 要 PDF Driver は Microsoft Word Excel PowerPoint のアドイン 機 能

More information

Microsoft Word - ms-word

Microsoft Word - ms-word 日 本 語 ワードプロセッサ 1 Microsoft Word の 概 要 コンピュータの 特 徴 の 一 つは,ソフトウェアを 入 れ 替 えて 動 作 させることにより, 種 々の 機 械 に 変 えることができることです.とくにパーソナルコンピュータは, 日 本 語 ワードプロセッサとして 使 用 されることが 多 くあります. 総 合 メディアセンターの 教 育 シ ステムでは,Microsoft

More information

レポートや論文の作成に役立つWord機能

レポートや論文の作成に役立つWord機能 PowerPoint 印 刷 術 PowerPoint で 作 成 したスライドを 印 刷 しようとすると うまくいかないことが 多 々あります ここではみなさんからの 質 問 要 望 の 多 い 印 刷 方 法 を Office2010PowerPoint で 紹 介 します ページ 設 定 をする PowerPoint でスライドを 作 成 するとき 初 期 設 定 ではスライドのサイズ 指 定

More information

研究者情報データベース

研究者情報データベース 研 究 者 情 報 管 理 システム 研 究 者 向 けデータ 一 括 登 録 機 能 操 作 マニュアル 2013 年 6 月 4 日 目 次 1. はじめに... 1 1.1 本 マニュアルの 注 意 事 項... 1 2. 操 作 手 順... 2 2.1 データ 登 録 手 順... 2 2.2 データ 読 み 込 みエラー 時 の 対 応 手 順... 13 3. 登 録 データ 一 覧...

More information

Office 10 パッケージ版「リンク集」

Office 10 パッケージ版「リンク集」 Office 10 パッケージ 版 リンク 集 バージョン 10.3 Copyright (C) 2013-2015 Cybozu リンク 集 リンク 集 は よく 利 用 するWebサイトのURLを 登 録 するアプリケーションです リンク 集 には 次 の2 種 類 のリンクを 管 理 できます 共 有 リンク: すべてのユーザーが 共 有 して 使 用 できるリンクです システム 管 理 者

More information

4 応 募 者 向 けメニュー 画 面 が 表 示 されます 応 募 者 向 けメニュー 画 面 で [ 交 付 内 定 時 の 手 続 を 行 う] [ 交 付 決 定 後 の 手 続 を 行 う]をクリックします 10

4 応 募 者 向 けメニュー 画 面 が 表 示 されます 応 募 者 向 けメニュー 画 面 で [ 交 付 内 定 時 の 手 続 を 行 う] [ 交 付 決 定 後 の 手 続 を 行 う]をクリックします 10 2 科 学 研 究 費 助 成 事 業 のトップページ 画 面 が 表 示 されます [ 研 究 者 ログイン]をクリック します 掲 載 している 画 面 は 例 示 です 随 時 変 更 されます 3 科 研 費 電 子 申 請 システムの 応 募 者 ログイン 画 面 が 表 示 されます e-rad の ID パ ス ワード を 入 力 し [ログイン]をクリックします 9 4 応 募 者

More information

POWER EGG V2.01 ユーザーズマニュアル ファイル管理編

POWER EGG V2.01 ユーザーズマニュアル ファイル管理編 POWER EGG V2.0 ユーザーズマニュアル ファイル 管 理 編 Copyright 2009 D-CIRCLE,INC. All Rights Reserved 2009.4 はじめに 本 書 では POWER EGG 利 用 者 向 けに 以 下 の POWER EGG のファイル 管 理 機 能 に 関 する 操 作 を 説 明 しま す なお 当 マニュアルでは ファイル 管 理 機

More information

2016 年 度 情 報 リテラシー 次 に Excel のメニューから[ 挿 入 ]タブをクリックし 表 示 されたメニュー 内 の[グラフ]にある[ 折 れ 線 グラフ]のボタンをクリックする するとサブメニューが 表 示 されるので 左 上 の[ 折 れ 線 ]を 選 択 する [ 挿 入 ]

2016 年 度 情 報 リテラシー 次 に Excel のメニューから[ 挿 入 ]タブをクリックし 表 示 されたメニュー 内 の[グラフ]にある[ 折 れ 線 グラフ]のボタンをクリックする するとサブメニューが 表 示 されるので 左 上 の[ 折 れ 線 ]を 選 択 する [ 挿 入 ] ( 第 10 回 )2016/06/20 Excel によるグラフ 作 成 この 回 では Excel を 用 いたグラフ 作 成 の 演 習 を 行 う 新 聞 記 事 等 で 利 用 されているような 一 般 的 なグラ フを 題 材 にし Excel に 備 わっているグラフ 作 成 機 能 を 知 る 1. 課 題 の 確 認 いくつかのグラフの 例 を 参 考 に Excel の 機 能

More information

SXF 仕 様 実 装 規 約 版 ( 幾 何 検 定 編 ) 新 旧 対 照 表 2013/3/26 文 言 変 更 p.12(1. 基 本 事 項 ) (5)SXF 入 出 力 バージョン Ver.2 形 式 と Ver.3.0 形 式 および Ver.3.1 形 式 の 入 出 力 機 能 を

SXF 仕 様 実 装 規 約 版 ( 幾 何 検 定 編 ) 新 旧 対 照 表 2013/3/26 文 言 変 更 p.12(1. 基 本 事 項 ) (5)SXF 入 出 力 バージョン Ver.2 形 式 と Ver.3.0 形 式 および Ver.3.1 形 式 の 入 出 力 機 能 を SXF 仕 様 実 装 規 約 版 ( 幾 何 検 定 編 ) 新 旧 対 照 表 2013/3/26 改 訂 の 要 因 旧 新 (2013 年 4 月 版 ) 文 言 削 除 p.11(1. 基 本 事 項 ) (2) 保 証 すべき 実 数 の 精 度 p.5(1. 基 本 事 項 ) (2) 保 証 すべき 実 数 の 精 度 1. 用 紙 系 ( 線 種 ピッチ 等 用 紙 上 の 大 きさで

More information

立ち読みページ

立ち読みページ PowerPoint リボンやステータスバーを 使 った 表 示 の 切 り 替 えやクイックアクセス ツールバーの 設 定 など PowerPointを 操 作 する 環 境 について 解 説 しま す - 表 示 を 調 節 する 29-2 PowerPointの 画 面 を 操 作 する 33-3 クイックアクセスツールバーを 設 定 する 35-4 PowerPointのファイルオプションを

More information

スライド 1

スライド 1 Android 版 目 視 録 運 用 操 作 マニュアル 作 成 2012/03/22 更 新 2014/09/26 目 視 録 とは 携 帯 またはパソコンで 施 工 写 真 を 登 録 確 認 できるシステムです ご 利 用 の 為 にはIDとパスワードが 必 要 です TEG ログインID ( ) パスワード ( ) https://teg.mokusiroku.com/

More information

Microsoft Word - 第3章.doc

Microsoft Word - 第3章.doc 第 3 章 関 数 この 章 では 日 付 と 時 刻 を 扱 う 関 数 や 検 索 条 件 に 一 致 するデータを 取 り 出 す 関 数 の 使 い 方 また 複 数 の 関 数 を 組 み 合 わせてエラー 値 を 非 表 示 にする 方 法 を 学 習 します STEP 1: 日 付 / 時 刻 関 数 TODAY 関 数 NOW 関 数 TODAY 関 数 は パソコンの 内 蔵 時

More information

■デザイン

■デザイン Joruri CMS 1.3.2 基 本 マニュアル (2013.6.28) デザイン デザインでは 各 ページ 内 に 構 成 されるパーツである ピース と それをページ 内 に 配 置 し 構 成 する レイアウト を 作 成 できます また スタイルシート でピース レイ アウトの HTML を 制 御 し 装 飾 する CSS を 設 定 できます ピース デザイン>ピース ピース をクリックすると

More information

TIPS - 棚 割 りを 開 始 するまで Liteを 起 動 し 企 業 情 報 の 追 加 を 行 い 棚 割 を 行 う 企 業 の 追 加 をして 下 さい 企 業 情 報 の 追 加 時 に エラーメッセージが 表 示 された 場 合 別 途 TIPS トラブルが 発 生 した 場 合

TIPS - 棚 割 りを 開 始 するまで Liteを 起 動 し 企 業 情 報 の 追 加 を 行 い 棚 割 を 行 う 企 業 の 追 加 をして 下 さい 企 業 情 報 の 追 加 時 に エラーメッセージが 表 示 された 場 合 別 途 TIPS トラブルが 発 生 した 場 合 TIPS 目 次 TIPS 項 目 棚 割 りを 開 始 するまで 商 品 画 像 の 追 加 方 法 商 品 情 報 の 一 括 更 新 登 録 方 法 棚 割 情 報 の 連 携 方 法 小 売 様 棚 割 ソフトとの 棚 割 情 報 連 携 について 他 棚 割 ソフトとの 棚 割 情 報 連 携 について 棚 割 情 報 のExcel 取 込 について 棚 板 設 定 の 詳 細 商 品 設

More information

WebMail ユーザーズガイド

WebMail ユーザーズガイド ニフティクラウド ビジネスメール メール 共 有 サービス ユーザーズガイド 第 1.1 版 平 成 26 年 5 月 19 日 ニフティ 株 式 会 社 目 次 はじめに... 3 1. 共 有 メールボックスとは... 4 2. 共 有 メールボックスを 表 示 する... 5 3. 閲 覧 履 歴 操 作 履 歴 を 表 示 する... 8 4. 共 有 メールボックスからメールを 送 信 する...

More information

Microsoft Word - サンプル _データベースアクセス_.doc

Microsoft Word - サンプル _データベースアクセス_.doc データベースアクセスコンポーネント 1. 概 要 データベースアクセスコンポーネントとは SQL データベースにアクセスして SQL 文 を 実 行 することによりデータベース 検 索 を 行 う 機 能 を 提 供 するコ ンポーネントです また データベースアクセスコンポーネントでは データベースの 構 成 情 報 接 続 情 報 エラー 情 報 等 を 取 得 することも 可 能 です デ ータベースアクセスコンポーネントは

More information

Excel basics

Excel basics Excel 入 門 Excel は 表 計 算 およびデータ 分 析 のための 効 果 的 なアプリケーションです 最 も 効 果 的 に 使 用 するためには 最 初 にその 基 礎 を 理 解 する 必 要 があります このチュートリ アルでは すべてのブックで 使 用 する 作 業 と 機 能 をいくつか 紹 介 します 開 始 する 前 に... 1 1. 新 しい 空 白 のブックを 作

More information

ナビゲーションバー セクションタブ ページタブバー 落 書 きノート セ ク シ ョ ン 2

ナビゲーションバー セクションタブ ページタブバー 落 書 きノート セ ク シ ョ ン 2 1 情 報 をまと める 2ミニノートを 使 う 3 図 形 を 描 く 4 写 真 イラス ト 挿 入 5 手 書 き 機 能 6ファイルを そのまま 挿 入 7 他 のソフト ウェアとリンク 1 テキストデータ 画 像 動 画 音 声 色 々な 場 所 にあるファイルやデータの 整 理 2 通 知 領 域 から 起 動 させて 使 う 思 いついたらすばやく 書 き 込 める 3 線 や 図 形

More information

2016 年 度 情 報 リテラシー 変 更 された 状 態 同 様 に 価 格 のセルを 書 式 設 定 する 場 合 は 金 額 のセルをすべて 選 択 し [ 書 式 ]のプルダウンメニューか ら[ 会 計 ]を 選 択 する すると が 追 加 され 金 額 としての 書 式 が 設 定 さ

2016 年 度 情 報 リテラシー 変 更 された 状 態 同 様 に 価 格 のセルを 書 式 設 定 する 場 合 は 金 額 のセルをすべて 選 択 し [ 書 式 ]のプルダウンメニューか ら[ 会 計 ]を 選 択 する すると が 追 加 され 金 額 としての 書 式 が 設 定 さ ( 第 11 回 )2016/06/27 表 計 算 を 利 用 した 集 計 作 業 この 回 では Excel を 用 いた 集 計 作 業 を 行 う 集 計 は 企 業 などで 事 実 を 記 録 したデータを 目 的 に 従 って 整 理 する 作 業 である Excel では 集 計 に 特 化 した 機 能 として テーブル ピポットテーブル という 機 能 がある 1. 課 題 の

More information

MetaMoJi ClassRoom/ゼミナール 授業実施ガイド

MetaMoJi ClassRoom/ゼミナール 授業実施ガイド 本 書 では 管 理 者 向 けに MetaMoJi ClassRoom/ゼミナールで 年 度 更 新 を 実 施 する 手 順 について 説 明 して います 管 理 者 ガイドと 合 わせてご 覧 ください Excelは 米 国 Microsoft Corporationの 米 国 およびその 他 の 国 における 登 録 商 標 または 商 標 です Apache OpenOffice Apache

More information

Microsoft Word - 311Tools_END

Microsoft Word - 311Tools_END 11.1 テキストエディター(TeraPad) 第 11 章 さらに 使 いこなすためのツール Windows の 標 準 で 搭 載 されているテキストエディターのメモ 帳 Word などに 比 べて メモ 帳 は 軽 く ちょっとした 文 章 を 書 くのに 非 常 に 便 利 です しかし メモ 帳 は 軽 いだけに 機 能 性 はそれほど 高 くありません この 章 で 紹 介 する TeraPad

More information

目 次 1.ログイン 方 法 P2 2.ログアウト 方 法 P3 3. 基 本 設 定 変 更 サイトネーム スローガンの 設 定 P10~11 カラーバリエーションの 選 択 P12 メニュースタイル 色 の 設 定 P12 4.トップページの 画 像 編 集 画 像 の 変 更 P13~14 T

目 次 1.ログイン 方 法 P2 2.ログアウト 方 法 P3 3. 基 本 設 定 変 更 サイトネーム スローガンの 設 定 P10~11 カラーバリエーションの 選 択 P12 メニュースタイル 色 の 設 定 P12 4.トップページの 画 像 編 集 画 像 の 変 更 P13~14 T ホームページングサービス G o o d P a g e E a s y GoodPageASPシリーズ 操 作 マニュアル 基 本 操 作 編 (EASY+のメニュー 操 作 については メニュー 操 作 編 をご 覧 下 さい) ASPシリーズ(SUPERLITE EASY EASY+)の 基 本 操 作 手 順 は 共 通 ですが マニュアルではGoodPageEASYの 画 面 で 説 明

More information

<4D6963726F736F667420576F7264202D20819C486F70658F6F93588ED297708AC7979D89E696CA837D836A83858341838B8169342E33566572816A2E646F63>

<4D6963726F736F667420576F7264202D20819C486F70658F6F93588ED297708AC7979D89E696CA837D836A83858341838B8169342E33566572816A2E646F63> 商 品 管 理 商 品 管 理 を 行 うためのメニューです 4.1 商 品 管 理 のサイドメニュー 商 品 管 理 には 以 下 のサイドメニューがあります 商 品 一 覧 登 録 済 みの 商 品 の 一 覧 を 表 示 します 既 に 登 録 済 みの 商 品 の 検 索 検 索 した 商 品 を 編 集 する 際 に 使 用 します 新 規 作 成 商 品 を 新 規 登 録 する 画 面

More information

(Microsoft Word - Word\211\236\227p5\217\315.docx)

(Microsoft Word - Word\211\236\227p5\217\315.docx) この 章 では 他 のアプリケーションのデータを Word 文 書 に 挿 入 する 機 能 と Excel と 連 携 してグ ラフを 作 成 する 機 能 について 学 習 します 1 OLE 機 能 アプリケーション 間 でデータの 情 報 をやり 取 りできる 機 能 のことを OLE(Object Linking and Embedding) 機 能 といいます Word では Excel

More information

A

A A. ツールボタン の 使 い 方 下 の 図 は NetCommons の 共 通 エディタで 表 示 されるツールボタンの 一 覧 です 書 式 設 定 左 からフォント サイズ スタイルを 設 定 するためのプルダウンメニューです 効 果 をつけたい 箇 所 の 先 頭 でク リックするか 効 果 をつけたい 箇 所 をカーソルで 選 択 してボタンをクリックします 文 字 効 果 左 から

More information

「給与・年金の方」からの確定申告書作成編

「給与・年金の方」からの確定申告書作成編 所 得 が 給 与 のみ 公 的 年 金 のみ 給 与 と 公 的 年 金 のみ の 方 で 入 力 方 法 選 択 画 面 で 給 与 年 金 の 方 を 選 択 された 場 合 の 確 定 申 告 書 作 成 の 操 作 手 順 を 説 明 します ~ この 操 作 の 手 引 きをご 利 用 になる 前 に ~ この 操 作 の 手 引 きでは 確 定 申 告 書 の 作 成 方 法 をご 説

More information

Microsoft Word - FrontMatter.doc

Microsoft Word - FrontMatter.doc SAS 認 定 プロフェッショナルのための Base Programming for SAS 9 完 全 ガイド ii このマニュアルの 正 確 な 書 誌 情 報 は 以 下 のとおりです SAS 認 定 プロフェッショナルのための Base Programming for SAS 9 完 全 ガイド Copyright 2009, SAS Institute Inc., Cary, NC, USA

More information

ワープロソフトウェア

ワープロソフトウェア プレゼンテーションソフト (PowerPoint) プレゼンテーションソフト プレゼンテーションソフト 発 表 会 や 会 議 などで 使 用 する 資 料 を 作 成 表 示 するため のアプリケーションソフト PowerPoint Microsoftによって 提 供 されているプレゼンテーションソフト 比 較 的 簡 単 に 見 映 えのするスライドが 作 れる 2 PowerPointの 起

More information

はじめに ~アイコン 説 明 1.TOP 画 面 2.カメラTOP 切 替 会 社 選 択 画 面 へ 遷 移 + カメラアプリの 新 規 フォルダーを 作 成 編 集 カメラアプリのフォルダーを 編 集 更 新 設 定 の 変 更 が 反 映 されない 場 合 更 新 をしてください メニュー カ

はじめに ~アイコン 説 明 1.TOP 画 面 2.カメラTOP 切 替 会 社 選 択 画 面 へ 遷 移 + カメラアプリの 新 規 フォルダーを 作 成 編 集 カメラアプリのフォルダーを 編 集 更 新 設 定 の 変 更 が 反 映 されない 場 合 更 新 をしてください メニュー カ TOOLS Camera ~ 写 真 の 達 人 連 携 ~ 利 用 方 法 株 式 会 社 ツールズ All Rights Reserved, Copyright 2011 TOOLS Inc 1 はじめに ~アイコン 説 明 1.TOP 画 面 2.カメラTOP 切 替 会 社 選 択 画 面 へ 遷 移 + カメラアプリの 新 規 フォルダーを 作 成 編 集 カメラアプリのフォルダーを 編

More information

(Microsoft PowerPoint - Ver12\203o\201[\203W\203\207\203\223\203A\203b\203v\216\221\227\277.ppt)

(Microsoft PowerPoint - Ver12\203o\201[\203W\203\207\203\223\203A\203b\203v\216\221\227\277.ppt) ACAD-DENKI DENKI Ver.12 新 機 能 / 改 善 機 能 アルファテック 株 式 会 社 1 新 機 能 改 善 機 能 一 覧 ACAD-DENKI/EL Ver.12 新 機 能 と 改 善 機 能 新 メニュー/ 新 機 能 拡 張 プロジェクト 管 理 外 部 端 子 コネクタ 端 子 ネット 分 割 化 リアルタイム 線 番 挿 入 改 善 項 目 図 題 情 報 編

More information

ez_meishi.ppt

ez_meishi.ppt 名 刺 登 録 名 刺 登 録 ~ 目 次 ~ 1. 名 刺 登 録 とは 3 2. 準 備 2-1.まず 最 初 に 確 認 5 2-2. 新 しいアプリの 作 成 6 2-3.アプリケーションのダウンロードとインストール 8 2-4.サービス 利 用 者 登 録 10 2-5. 所 有 者 管 理 DBの 発 行 設 定 12 3. 登 録 3-1. 名 刺 情 報 を 読 み 取 る 18 3-2.

More information

ToolTip for ASP.NET Web Forms

ToolTip for ASP.NET Web Forms 2015.05.20 更 新 グレープシティ 株 式 会 社 目 次 製 品 の 概 要 2 ComponentOne Studio for ASP.NET Web Forms のヘルプ 2 主 な 特 長 3 クイックスタート 4 手 順 1:アプリケーションの 作 成 4 手 順 2:C1ToolTip の 作 成 とコントロールへの 割 り 当 て 4 手 順 3:コントロールのカスタマイズ

More information

事前チェック提出用現況報告書作成ツール入力マニュアル(法人用)

事前チェック提出用現況報告書作成ツール入力マニュアル(法人用) 事 前 チェック 提 出 用 現 況 報 告 書 作 成 ツール 入 力 マニュアル ( 法 人 用 ) 平 成 26 年 7 月 一 般 社 団 法 人 日 本 補 償 コンサルタント 協 会 目 次 1. ツールの 概 要 1 2. 動 作 環 境 1 3. マクロの 設 定 (1) Excel のバージョンの 確 認 2 (2) マクロの 設 定 3 4. 現 況 報 告 書 の 作 成 (1)

More information

R4財務対応障害一覧

R4財務対応障害一覧 1 仕 訳 入 力 仕 訳 入 力 時 摘 要 欄 で. + Enter を 押 すと アプリケーションでエラーが 発 生 しまインデックスが 配 列 の 境 界 外 です が 出 る 場 合 がある 問 題 に 対 応 しま 2 仕 訳 入 力 仕 訳 入 力 主 科 目 と 補 助 科 目 を 固 定 にすると2 行 目 以 降 の 補 助 科 目 コピーが 動 作 しない 問 題 に 対 応

More information

■ディレクトリ

■ディレクトリ Joruri CMS 1.3.2 基 本 マニュアル (2013.6.28) ディレクトリ 公 開 画 面 として HTML を 表 示 する 際 に HTML ファイルを 格 納 するディレクトリやページを 作 成 します コンセプトに 格 納 されているオブジェクトは 物 理 的 なディレクトリやページを 指 定 することにより Web の 公 開 画 面 として 表 示 することができます ディレクトリメニューでディレクトリやページを

More information

DN6(R04).vin

DN6(R04).vin page 1 / 2 DataNature6(R04)リリースノート 新 機 能 機 能 改 良 (1) 期 間 項 目 への 締 め 日 の 反 映 年 度 上 期 / 下 期 四 半 期 において 設 定 した 締 め 日 を 反 映 させるかどうかの 設 定 を 追 加 (2) 週 の 設 定 方 法 の 追 加 日 付 から 期 間 の 設 定 で 週 を 追 加 する 場 合 に 週 の"

More information

Microsoft Word - 教科書VBA_第1章2013_.doc

Microsoft Word - 教科書VBA_第1章2013_.doc 第 1 章 Excel のマクロ 機 能 VBA とは VBA(Visual Basic for Applications)は,Microsoft 社 の Word や Excel など,Microsoft Office ア プリケーションで 共 通 に 利 用 できるプログラミング 言 語 です. 例 えば Excel のようなアプリケーション で 作 成 された VBA プログラムは,そのアプリケーションのデータと

More information

目 次 1. 大 学 情 報 データベースシステムの 使 用 方 法 について... 1 1.1.EXCEL 一 括 登 録... 1 1.2.EXCEL ダウンロード... 2 1.2.1. 検 索 条 件 の 指 定 プレビュー... 3 1.2.2.EXCEL ダウンロード(データ 抽 出 あ

目 次 1. 大 学 情 報 データベースシステムの 使 用 方 法 について... 1 1.1.EXCEL 一 括 登 録... 1 1.2.EXCEL ダウンロード... 2 1.2.1. 検 索 条 件 の 指 定 プレビュー... 3 1.2.2.EXCEL ダウンロード(データ 抽 出 あ 大 学 情 報 データベースシステム EXCEL 一 括 登 録 マニュアル 目 次 1. 大 学 情 報 データベースシステムの 使 用 方 法 について... 1 1.1.EXCEL 一 括 登 録... 1 1.2.EXCEL ダウンロード... 2 1.2.1. 検 索 条 件 の 指 定 プレビュー... 3 1.2.2.EXCEL ダウンロード(データ 抽 出 あり)... 5 1.2.3.EXCEL

More information

別冊資料-11

別冊資料-11 一 般 競 争 入 札 方 式 工 事 希 望 型 競 争 入 札 方 式 における 技 術 資 料 入 力 システムの 利 用 方 法 について Rev 8.0( 平 成 28 年 3 月 ) 国 土 交 通 省 中 国 地 方 整 備 局 - 目 次 - 1. はじめに... 1 2. 利 用 環 境 及 び 注 意 事 項... 1 3. 入 力 手 順 について... 2 3.1. 技 術

More information

2007 Microsoft Corporation. All rights reserved. 本 書 に 記 載 した 情 報 は 本 書 各 項 目 に 関 する 発 行 日 現 在 の Microsoft の 見 解 を 表 明 するものです Microsoft は 絶 えず 変 化 する

2007 Microsoft Corporation. All rights reserved. 本 書 に 記 載 した 情 報 は 本 書 各 項 目 に 関 する 発 行 日 現 在 の Microsoft の 見 解 を 表 明 するものです Microsoft は 絶 えず 変 化 する Microsoft Office Visio 2007 自 習 書 データリンク 2007 Microsoft Corporation. All rights reserved. 本 書 に 記 載 した 情 報 は 本 書 各 項 目 に 関 する 発 行 日 現 在 の Microsoft の 見 解 を 表 明 するものです Microsoft は 絶 えず 変 化 する 市 場 に 対 応

More information

(Microsoft Word - \215u\213`\203m\201[\203g20090703.doc)

(Microsoft Word - \215u\213`\203m\201[\203g20090703.doc) 2009/07/03 前 回 のおさらい 関 数 確 認 問 題 水 尾 作 成 の Excel 基 本 動 作 練 習 用 ファイルの 表 タイトルなし を 用 いて 次 の 指 示 を 実 際 に 完 成 させよ 1 セル M50 に セル L50:L54 の 合 計 数 値 をセル K50 の 数 値 で 割 った 結 果 を 表 示 できるよう に 関 数 を 設 定 せよ 2 M50 に

More information

Microsoft PowerPoint - INIS_Collection_Srh_Quickmamual(Japanese)20150713

Microsoft PowerPoint - INIS_Collection_Srh_Quickmamual(Japanese)20150713 1 まずは()にアクセス 日 本 語 画 面 の 表 示 (p.2) 登 録 サインイン(p.3) 登 録 登 録 後 のサインイン 登 録 サインインしなくても 利 用 可 能 スタンダードサーチ 最 初 の 画 面 手 軽 に 検 索 可 能 検 索 式 等 について (p.6-8) ヘルプ(p.22) ヘルプ 画 面 を 表 示 アドバンス サーチ(p.8) スタンダードサーチからリンク より

More information

医 療 費 自 己 負 担 額 支 払 明 細 書 入 力 シート - 目 次 - < 第 1 章 > 共 通 事 項 説 明 医 療 費 自 己 負 担 額 支 払 明 細 書 入 力 シート 目 次 1.1 本 システムの 注 意 点 1 1.2 入 力 項 目 について 1.2.1 基 本 情

医 療 費 自 己 負 担 額 支 払 明 細 書 入 力 シート - 目 次 - < 第 1 章 > 共 通 事 項 説 明 医 療 費 自 己 負 担 額 支 払 明 細 書 入 力 シート 目 次 1.1 本 システムの 注 意 点 1 1.2 入 力 項 目 について 1.2.1 基 本 情 医 療 費 自 己 負 担 額 支 払 明 細 書 入 力 シート - 目 次 - < 第 1 章 > 共 通 事 項 説 明 医 療 費 自 己 負 担 額 支 払 明 細 書 入 力 シート 目 次 1.1 本 システムの 注 意 点 1 1.2 入 力 項 目 について 1.2.1 基 本 情 報 入 力 項 目 2 1.2.2 子 ども 医 療 費 明 細 入 力 項 目 3 1.2.3 ひとり

More information

第 1 章 PowerPoint を 始 める 前 に 第 1 章 PowerPoint を 始 める 前 に 1. 最 初 に 考 えること 2. PowerPoint の 画 面 -1- IBR2012-V1.0

第 1 章 PowerPoint を 始 める 前 に 第 1 章 PowerPoint を 始 める 前 に 1. 最 初 に 考 えること 2. PowerPoint の 画 面 -1- IBR2012-V1.0 パワーポイント 基 礎 講 習 PowerPoint を 始 める 前 に PowerPoint を 始 めよう アニメーションを 活 用 する PowerPoint 2010 対 応 NPO インターネットビジネス 研 究 所 Copyright IBR 2012 第 1 章 PowerPoint を 始 める 前 に 第 1 章 PowerPoint を 始 める 前 に 1. 最 初 に 考

More information

確 定 申 告 書 作 成 システム 操 作 手 順 書 ~ 個 人 利 用 者 向 け 操 作 説 明 書 ~ 平 成 27 年 1 月 JA 長 野 県 営 農 センター ( 株 ) 長 野 県 協 同 電 算 目 次 1.システムの 起 動... 1 ... 1 ... 2 2.ログインとログアウト... 2 ... 3 ...

More information

<4D6963726F736F667420576F7264202D20457863656C97F195CF8AB72091808DEC90E096BE8F912091E6312E313294C52E646F63>

<4D6963726F736F667420576F7264202D20457863656C97F195CF8AB72091808DEC90E096BE8F912091E6312E313294C52E646F63> Excel 列 変 換 Ver.1.0.3 操 作 説 明 書 第 1.1 版 Copyright (C) 2008 株 式 会 社 恒 河 沙 変 更 履 歴 版 作 成 日 作 成 者 主 な 変 更 点 第 1.0 版 2008/10/29 ( 株 ) 恒 河 沙 東 野 貴 行 新 規 作 成 第 1.1 版 2008/11/04 ( 株 ) 恒 河 沙 東 野 貴 行 - 2 - 目 次

More information

V-CUBE One

V-CUBE One V-CUBE One Office 365 連 携 マニュアル ブイキューブ 2016/06/03 この 文 書 は V-CUBE One の Office 365 連 携 用 ご 利 用 マニュアルです 更 新 履 歴 更 新 日 内 容 2016/02/09 新 規 作 成 2016/03/11 Office 365 ID を 既 存 の One 利 用 者 と 紐 付 ける 機 能 に 関 する

More information

03_主要処理画面.xlsx

03_主要処理画面.xlsx 見 積 受 注 入 力 見 積 と 受 注 は 同 じ 画 面 で 入 力 します 基 本 情 報 の 状 況 欄 で 見 積 か 受 注 かを 選 択 して 登 録 します 見 積 から 受 注 にかわったときは 見 積 伝 票 を 修 正 で 開 き 状 況 を 受 注 に 変 更 して 登 録 します 出 荷 する 倉 庫 や 納 期 は 明 細 行 ごとに 指 定 できます 受 注 の 場

More information

2 科 学 研 究 費 助 成 事 業 のトップページ 画 面 が 表 示 されます [ 研 究 者 ログイン]をクリック します 掲 載 している 画 面 は 例 示 です 随 時 変 更 されます 3 科 研 費 電 子 申 請 システムの 応 募 者 ログイン 画 面 が 表 示 されます e

2 科 学 研 究 費 助 成 事 業 のトップページ 画 面 が 表 示 されます [ 研 究 者 ログイン]をクリック します 掲 載 している 画 面 は 例 示 です 随 時 変 更 されます 3 科 研 費 電 子 申 請 システムの 応 募 者 ログイン 画 面 が 表 示 されます e 2.2.1 科 研 費 電 子 申 請 システム( 交 付 申 請 手 続 き)へログイン 1 Web ブラウザを 起 動 し 日 本 学 術 振 興 会 の 電 子 申 請 のご 案 内 サイト (http://www-shinsei.jsps.go.jp/)を 表 示 し 科 学 研 究 費 助 成 事 業 をクリックします 8 2 科 学 研 究 費 助 成 事 業 のトップページ 画 面 が

More information

目 次 1 ご 使 用 の 前 に 1.1 動 作 環 境 1.2 セットアップ 方 法 2 使 用 方 法 2.1 起 動 方 法 2.2 操 作 方 法 2.2.1 効 果 音 設 定 2.2.2 アニメーション 設 定 2.2.3 スライドジャンプ 設 定 2.2.4 フラッシュカード 設 定

目 次 1 ご 使 用 の 前 に 1.1 動 作 環 境 1.2 セットアップ 方 法 2 使 用 方 法 2.1 起 動 方 法 2.2 操 作 方 法 2.2.1 効 果 音 設 定 2.2.2 アニメーション 設 定 2.2.3 スライドジャンプ 設 定 2.2.4 フラッシュカード 設 定 マニュアル(2013.11.22ver) 目 次 1 ご 使 用 の 前 に 1.1 動 作 環 境 1.2 セットアップ 方 法 2 使 用 方 法 2.1 起 動 方 法 2.2 操 作 方 法 2.2.1 効 果 音 設 定 2.2.2 アニメーション 設 定 2.2.3 スライドジャンプ 設 定 2.2.4 フラッシュカード 設 定 2.2.5 時 間 指 定 スライド 移 動 設 定 2.2.6

More information

G01 メニュー 画 面 の 説 明 1 前 年 度 のデータ または 会 員 管 理 DBからの 会 員 情 報 データをインポートする [ 前 年 度 一 括 申 告 データインポート] ソフト1の 講 習 会 等 名 簿 ソフトデータにデータ 付 加 するた めに 日 本 医 師 会 より 配

G01 メニュー 画 面 の 説 明 1 前 年 度 のデータ または 会 員 管 理 DBからの 会 員 情 報 データをインポートする [ 前 年 度 一 括 申 告 データインポート] ソフト1の 講 習 会 等 名 簿 ソフトデータにデータ 付 加 するた めに 日 本 医 師 会 より 配 項 目 の 番 号 をクリックすると 該 当 のページへ 遷 移 します 4 ソフト3: 生 涯 教 育 データ 統 合 ソフト 4.1 共 通 G01 メニュー 画 面 の 説 明 4.2 1 前 年 度 のデータ または 会 員 管 理 DBからの 会 員 情 報 データをインポートする H01 前 年 度 のデータから 会 員 情 報 データをインポートするには H02 会 員 管 理 DBからの

More information

<4D F736F F D2090C389AA8CA72D92F18F6F2D D F ED28CFC82AF91808DEC837D836A B E838B A815B816A2E646F6378>

<4D F736F F D2090C389AA8CA72D92F18F6F2D D F ED28CFC82AF91808DEC837D836A B E838B A815B816A2E646F6378> 1. 基 本 事 項 1.1. システムで 行 えること デジタルライブラリー では データベース 上 に 登 録 されている 様 々なカテゴリのデータを 検 索 閲 覧 できます データを 検 索 する キーワード 検 索 全 データをフリーワードで 検 索 できます 簡 易 検 索 データの 共 通 項 目 に 条 件 を 指 定 し 全 データを 横 断 して 検 索 できます 詳 細 検 索

More information

Microsoft Office Excel2007(NO.2エクセル初級後編)

Microsoft Office Excel2007(NO.2エクセル初級後編) 目 次 序 章... 1 エクセル 2007 初 級 ( 後 編 ) の 目 的... 1 エクセル 2007 初 級 ( 後 編 )について... 2 表 の 編 集 ( 後 編 その1)... 2 シートの 操 作... 2 基 本 の 計 算 式 ( 後 編 )... 3 印 刷 の 基 本... 3 グラフ 作 成 の 基 本... 3 第 1 章 表 の 編 集 ( 後 編 その 1)...

More information

(Microsoft PowerPoint -

(Microsoft PowerPoint - 図 面 作 成 は 各 ユーザ 様 の 各 規 定 によって 異 なってきますが その 中 でも 共 通 して 使 用 されると 思 われる 幾 つかの 機 能 作 成 方 法 についてご 紹 介 します オリジナル 図 面 シートの 作 成 について 図 面 シートの 作 成 新 規 のドラフトファイルを 開 き メインメニューの ファイル-シートの 設 定 ダイアログボックスの サイズ タブから

More information

Acrobat Reader DCのインストール・操作方法―Windows 10/8.1/7

Acrobat Reader DCのインストール・操作方法―Windows 10/8.1/7 PDF 閲 覧 ソ フトの 定 番 ソフトです ダウンロード インストールと 基 本 的 な 操 作 方 法 を 図 解 します Windows 10, 8.1 及 び 7 での 操 作 の 図 解 です Windows 10 でインストールし 操 作 する 方 法 図 解 Windows 8.1 でのインストールの 方 法 図 解 Windows 7 でのインストールの 方 法 図 解 古 いバージョンを

More information

2 Web ページの 文 字 サイズを 変 更 する Microsoft Internet Explorer 8 では 文 字 のサイズを 変 更 して Web ページをより 見 やすくする ことができます 文 字 のサイズを 変 更 する 場 合 は 画 像 やコントロールは 元 のサイズが 維

2 Web ページの 文 字 サイズを 変 更 する Microsoft Internet Explorer 8 では 文 字 のサイズを 変 更 して Web ページをより 見 やすくする ことができます 文 字 のサイズを 変 更 する 場 合 は 画 像 やコントロールは 元 のサイズが 維 Windows が 提 供 する Web ブラウザ(Microsoft Internet Explorer 8)の 機 能 1.Web ページをズームする 2.Web ページの 文 字 サイズを 変 更 する 3.Web ページで 使 用 される 色 を 選 択 する 4.Web ページやドキュメントで 使 用 されるフォントのスタイルやサイズを 選 択 する 5.Web ページのユーザー 補 助

More information

Microsoft Word - P10-0001.doc

Microsoft Word - P10-0001.doc はじめに 1 PowerPoint の 概 要 2 1 PowerPoint とは 2 2 プレゼンテーションとは 2 3 PowerPoint でできること 3 4 プレゼンテーション 作 成 の 流 れ 4 5 PowerPoint の 起 動 5 6 PowerPoint の 画 面 6 第 1 章 新 しいプレゼンテーションを 作 ろう 1 レッスン1 文 字 を 入 力 しよう 3 1 文

More information

Word 003 スキルブック 06 - オブジェクトの 利 用 0.Word で 作 る 表 : 行 幅 を 最 小 値 より 小 さく 設 定 する 3 表 の 左 右 のサイズを 適 宜 調 整 します Word で 表 を 作 成 するとき, 列 幅, 行 幅 ともに 基 本 的 に 自 由

Word 003 スキルブック 06 - オブジェクトの 利 用 0.Word で 作 る 表 : 行 幅 を 最 小 値 より 小 さく 設 定 する 3 表 の 左 右 のサイズを 適 宜 調 整 します Word で 表 を 作 成 するとき, 列 幅, 行 幅 ともに 基 本 的 に 自 由 Word 003 スキルブック 06 - オブジェクトの 利 用 Word 003 スキルブック 06 - オブジェクトの 利 用 ツールバーに 表 ( 罫 線 )の 作 成 機 能 を 追 加 する( 罫 線 ツールバーを 追 加 する) ツールバー 上 の,アイコンのない 空 白 箇 所 を 右 してメニューを 開 きます 0. 準 備 :ツールバーのカスタマイズ メニュー 内 の 罫 線 の

More information

2 / 15 ページ 第 10 講 バーコードシートの 作 成 10-1 ブック(ファイル)を 開 く 第 8 講 で 保 存 した meibo2.xlsx を 開 きましょう 10-2 データの 検 索 と 置 換 データを 検 索 したり 別 のデータに 置 き 換 えたりする 機 能 です 検

2 / 15 ページ 第 10 講 バーコードシートの 作 成 10-1 ブック(ファイル)を 開 く 第 8 講 で 保 存 した meibo2.xlsx を 開 きましょう 10-2 データの 検 索 と 置 換 データを 検 索 したり 別 のデータに 置 き 換 えたりする 機 能 です 検 1 / 15 ページ キャリアアップコンピューティング 第 10 講 [ 全 15 講 ] 2016 年 度 2 / 15 ページ 第 10 講 バーコードシートの 作 成 10-1 ブック(ファイル)を 開 く 第 8 講 で 保 存 した meibo2.xlsx を 開 きましょう 10-2 データの 検 索 と 置 換 データを 検 索 したり 別 のデータに 置 き 換 えたりする 機 能

More information

エラー!目次項目が見つかりません。

エラー!目次項目が見つかりません。 KINGSOFT Office for Android Premium 使 説 明 書 目 次... 3 動 作 環 境... 3 主 機 能...5 認 証 手 順... 6 接 続... 8 画 面 説 明... 10 画 面 構 成...11 共 通 機 能... 14 使 方... 15 使 方... 19 使 方...23 作 成 行 総 合 文 書 作 成 表 計 算 作 成 構 成 端

More information

PowerPoint Presentation

PowerPoint Presentation 登 録 を 受 け 付 けるWebフォームを 作 成 したい 1. 概 要 ホームページ 上 で 会 員 登 録 を 受 け 付 ける 登 録 フォームの 作 り 方 を 説 明 します 弊 社 のシステムを 利 用 すると 会 員 登 録 や 資 料 請 求 などの 登 録 フォームを 作 成 することが 可 能 です cgiプログラムを 組 む 必 要 はありません < フォーム 作 成 設 定

More information

ユーザーガイド

ユーザーガイド 印 刷 の 管 理 バージョン 1.1 ユーザーガイド 2016 年 7 月 www.lexmark.com 内 容 2 内 容 変 更 履 歴... 3 概 要... 4 アプリケーションを 使 用 する... 5 アプリケーションへのアクセス... 5 アプリケーションを 管 理 する... 5 問 題 に 対 処 する... 7 アプリケーションが 適 切 にロードできない...7 アプリケーションにログインできない...

More information

給料らくだ7.5・かるがるできる給料5.5 追加マニュアル

給料らくだ7.5・かるがるできる給料5.5 追加マニュアル 追 加 マニュアル 給 料 らくだ 7.5 (Rev.5.10) かるがるできる 給 料 5.5 (Rev.5.10) MNL151201N-K マイナンバーモードについて 本 製 品 は マイナンバー 事 務 のうち 保 管 利 用 廃 棄 安 全 管 理 措 置 について 支 援 する 機 能 を 搭 載 しています マイナンバー 事 務 に 関 する 支 援 機 能 を 利 用 できる 状 態

More information

目 次 動 作 環 境 について... 2 土 砂 災 害 情 報 マップとは... 3 更 新 情 報 を 見 る... 4 熊 本 県 の 防 災 災 害 情 報 を 見 る... 5 関 連 サイトのリンク 情 報 を 見 る... 6 用 語 を 調 べる... 7 利 用 上 の 留 意

目 次 動 作 環 境 について... 2 土 砂 災 害 情 報 マップとは... 3 更 新 情 報 を 見 る... 4 熊 本 県 の 防 災 災 害 情 報 を 見 る... 5 関 連 サイトのリンク 情 報 を 見 る... 6 用 語 を 調 べる... 7 利 用 上 の 留 意 熊 本 県 土 砂 災 害 情 報 マップ 操 作 ガイド 平 成 27 年 3 月 目 次 動 作 環 境 について... 2 土 砂 災 害 情 報 マップとは... 3 更 新 情 報 を 見 る... 4 熊 本 県 の 防 災 災 害 情 報 を 見 る... 5 関 連 サイトのリンク 情 報 を 見 る... 6 用 語 を 調 べる... 7 利 用 上 の 留 意 事 項 を 確

More information

Microsoft Word - Active.doc

Microsoft Word - Active.doc 利 マニュアル 梅 校 メールサーバをご 利 されていた 教 員 の 皆 さまへ 2009 年 1 7 のメールサーバ 移 に 伴 い 学 外 からの 電 メールの 送 受 信 はウェブメール(Active!mail) からのみ 可 能 となりました Active!mail の 利 法 については 本 マニュアルをご 確 認 ください 次 Active!mail にログインする...2 Active!mail

More information

GRIDY SFA カスタム 項 目 操 作 ガイド 用 本 書 はに 必 要 な 操 作 を 解 説 しております は GRIDY SFA ののことです GRIDY SFA へ 申 し 込 み 最 初 に 登 録 を 行 った 方 がそのままとなります カスタム 項 目 はの 方 のみ 操 作 可

GRIDY SFA カスタム 項 目 操 作 ガイド 用 本 書 はに 必 要 な 操 作 を 解 説 しております は GRIDY SFA ののことです GRIDY SFA へ 申 し 込 み 最 初 に 登 録 を 行 った 方 がそのままとなります カスタム 項 目 はの 方 のみ 操 作 可 GRIDY SFA カスタム 項 目 操 作 ガイド 2016 年 1 月 20 日 ナレッジスイート 株 式 会 社 1 GRIDY SFA カスタム 項 目 操 作 ガイド 用 本 書 はに 必 要 な 操 作 を 解 説 しております は GRIDY SFA ののことです GRIDY SFA へ 申 し 込 み 最 初 に 登 録 を 行 った 方 がそのままとなります カスタム 項 目 はの

More information

管理者ガイド

管理者ガイド 用 紙 とお 気 に 入 り バージョン 5.1 管 理 者 ガイド 2016 年 7 月 www.lexmark.com 内 容 2 内 容 変 更 履 歴... 3 概 要... 4 アプリケーションの 設 定... 5 内 蔵 Web サーバーにアクセスする... 5 ブックマークの 設 定... 5 アプリケーションアイコンをカスタマイズする... 5 設 定 ファイルをインポートまたはエクスポートする...

More information

目 次 アカウント 取 得... 1 Blogger にログイン... 3 Blogger の 基 本 ページ... 4 新 規 ブログの 作 成... 5 ブログの 管 理 画 面... 5 ブログの 投 稿... 6 挿 入 画 像 の 設 定... 7 ページの 作 成... 8 レイアウトの

目 次 アカウント 取 得... 1 Blogger にログイン... 3 Blogger の 基 本 ページ... 4 新 規 ブログの 作 成... 5 ブログの 管 理 画 面... 5 ブログの 投 稿... 6 挿 入 画 像 の 設 定... 7 ページの 作 成... 8 レイアウトの Google Blogger 入 門 目 次 アカウント 取 得... 1 Blogger にログイン... 3 Blogger の 基 本 ページ... 4 新 規 ブログの 作 成... 5 ブログの 管 理 画 面... 5 ブログの 投 稿... 6 挿 入 画 像 の 設 定... 7 ページの 作 成... 8 レイアウトの 編 集... 9 テンプレートの 設 定... 10 ブログの

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション インターネット 出 願 手 引 き (システムWAKABA 継 続 入 学 申 請 手 引 き) 目 次 1.システムWAKABAトップ 画 面 2 2. 学 生 種 選 択 画 面 3 3. 出 願 申 請 画 面 (1) 全 科 履 修 生 の 場 合 4 (2) 全 科 履 修 生 以 外 の 場 合 6 4.オンライン 授 業 8 5. 科 目 登 録 申 請 画 面 (1) 授 業 種 別

More information

OpenOffice.org のプレゼンテーション 機 能 ここでは OpenOffice.org のプレゼンテーションツールである Impress について 説 明 します まず 最 初 に プレゼ ンテーションの 作 成 と 発 表 のやり 方 を 解 説 します そのあとで プレゼンテーション

OpenOffice.org のプレゼンテーション 機 能 ここでは OpenOffice.org のプレゼンテーションツールである Impress について 説 明 します まず 最 初 に プレゼ ンテーションの 作 成 と 発 表 のやり 方 を 解 説 します そのあとで プレゼンテーション オープンオフィス 3 入 門 ガイド - Impress:OpenOffice.org のプレゼンテーション 機 能 このドキュメントは クリエイティブ コモンズに 表 示 される 帰 属 - 2.1 日 本 のライセンスのもと 提 供 し ています このドキュメントの Web 版 を OpenOffice.org 日 本 ユーザー 会 のドキュメントで 公 開 しています http://openoffice-docj.sourceforge.jp/wiki/documentation/beginers_guide3

More information

Microsoft Word - 30-PDFガイド.doc

Microsoft Word - 30-PDFガイド.doc PDF ファイル 作 成 ガイドライン 日 本 都 市 計 画 学 会 学 術 委 員 会 (ア)はじめに Adobe PDF(Portable Document Format)は Adobe 社 (http://www.adobe.co.jp/)により 開 発 提 供 されている 電 子 文 書 のファイル 形 式 で Web で 広 く 利 用 されています Windows Macintosh

More information

Microsoft PowerPoint - 130522_リビジョンアップ案内_最終.pptx

Microsoft PowerPoint - 130522_リビジョンアップ案内_最終.pptx WaWaOfficeシリーズ バージョン8.2リビジョンアップ 2013 年 6 月 18 日 リリース 予 定 株 式 会 社 アイアットOEC ローカル 機 能 の 改 善 プレビュー 表 追 加 の 覧 表 にプレビュー 表 を 設 定 可 能 にしました 1 表 2 表 1 +プレビュー 表 から 選 択 設 定 法 個 設 定 個 設 定 基 本 設 定 PC 専 パラメータの 覧 表 時

More information

Microsoft Word - TCⅡマニュアル_第6章_ doc

Microsoft Word - TCⅡマニュアル_第6章_ doc .1 章 -1 .1 様 々な 機 能 を 利 用 し 簡 単 にイメージ 通 りの 加 工 が 行 えます した は 元 を 残 し 新 規 として 保 存 されます また 再 できる 加 工 内 容 の 場 合 は 上 書 き 保 存 することができます.1.1 面 について 配 置 面 ( 第 4 章 ) ペンスコープ 面 ( 第 5 章 ) 一 覧 面 ( 第 12 章 )( 複 数 選 択

More information

<4D6963726F736F667420576F7264202D20574254816995B68F918DEC90AC89898F4B899E977095D2816A2E646F63>

<4D6963726F736F667420576F7264202D20574254816995B68F918DEC90AC89898F4B899E977095D2816A2E646F63> 文 書 作 成 演 習 ( 応 用 編 ) (Word007,Excel007) 文 書 作 成 演 習 ( 応 用 編 ) のテキストを 参 考 にしながら, 次 の 学 級 だよりを 作 成 してみましょう IPA 教 育 用 画 像 素 材 集 より < 演 習 のための 準 備 > 演 習 用 素 材 のフォルダをデスクトップ 上 に 作 成 します IPA 教 育 用 画 像 素 材 集

More information

目 次 ログイン 方 法... 3 基 本 画 面 構 成... 4 メールサービス... 5 メールサービス 画 面 構 成... 5 アカウント 詳 細 / 設 定... 6 高 機 能 フィルター... 7 ユーザーフィルター 設 定... 8 新 規 フィルターの 追 加... 8 My ホ

目 次 ログイン 方 法... 3 基 本 画 面 構 成... 4 メールサービス... 5 メールサービス 画 面 構 成... 5 アカウント 詳 細 / 設 定... 6 高 機 能 フィルター... 7 ユーザーフィルター 設 定... 8 新 規 フィルターの 追 加... 8 My ホ 296Cloud マニュアル 1/15 目 次 ログイン 方 法... 3 基 本 画 面 構 成... 4 メールサービス... 5 メールサービス 画 面 構 成... 5 アカウント 詳 細 / 設 定... 6 高 機 能 フィルター... 7 ユーザーフィルター 設 定... 8 新 規 フィルターの 追 加... 8 My ホームページ... 11 My ホームページ 画 面 構 成...

More information

itutor (Windows Vista, 8, 8, 8.1 ) 製 品 紹 介 や 操 作 順 の PC 操 作 システム 運 順 の マニュアル 動 画 教 育 効 果 の い eラーニング 教 材 時 間 をかけず 簡 単 に 作 成 できる 2

itutor (Windows Vista, 8, 8, 8.1 ) 製 品 紹 介 や 操 作 順 の PC 操 作 システム 運 順 の マニュアル 動 画 教 育 効 果 の い eラーニング 教 材 時 間 をかけず 簡 単 に 作 成 できる 2 itutor Moodlerooms 2015/09/07 Ver: 1.0.0 アシストマイクロ 株 式 会 社 西 村 純 一 itutor (Windows Vista, 8, 8, 8.1 ) 製 品 紹 介 や 操 作 順 の PC 操 作 システム 運 順 の マニュアル 動 画 教 育 効 果 の い eラーニング 教 材 時 間 をかけず 簡 単 に 作 成 できる 2 エビデンス

More information

ノートをクラウドで 管 理 する [ 共 有 ] タブについて OneNote を 初 めて 起 動 すると クラウドに 接 続 するように 求 められ そのクラウドに 最 初 のノートブックが 作 成 されます OneNote では Microsoft アカウント (MSN Hotmail Mes

ノートをクラウドで 管 理 する [ 共 有 ] タブについて OneNote を 初 めて 起 動 すると クラウドに 接 続 するように 求 められ そのクラウドに 最 初 のノートブックが 作 成 されます OneNote では Microsoft アカウント (MSN Hotmail Mes クイック スタート ガイド Microsoft OneNote 2013 は レイアウトがこれまでのバージョンから 変 わりました このガイドは 少 しでも 早 く 慣 れることができるようにそれらの 違 いをまとめたものです タッチとマウスを 切 り 替 える タッチ デバイスで OneNote を 使 う 場 合 クイック アクセス ツール バーにこのスイッチを 追 加 できます リボンの 表

More information