4

異なるセクションに属するさまざまなグループメンバーのIDカードを生成したい。それぞれは、ユーザーが選択するものに応じて異なる形式を持っています。

ここに画像の説明を入力してください

また、写真の部分は、ユーザーがamdしたい領域で調整可能である必要があります。また、データベースから取得した写真は、ユーザーの要件に従ってトリミングできる必要があります。

これはCrystalReportsを使用して行うことは可能ですか。CrystalReportsの使用はまったく新しいので、チュートリアルやガイドラインは役に立ちます。使用していない場合=CrystalReports、他の最良のオプションは何ですか。

IDカードを動的に生成するために私を助けてください。

4

4 に答える 4

1

レポートを1つだけに絞り込みたい場合は、MD-Techが提案したものと似たようなものを使用できますが、ユーザーの選択に応じて非表示または表示されるセクションを使用します。

于 2011-05-09T13:43:58.067 に答える
1

3つのオプションがあります。

  1. MD-Techが示唆しているような2つのレポート。平均して、2つのレポートを維持するのはより困難です。
  2. 1つのレポート/2つのセクション-BUkHixが提案するようなもの。2つの別々のセクションで目的のフォーマットを作成し、パラメータを使用して目的のセクションを表示/非表示にします
  3. 1つのレポート/2つのサブレポート-これにより、フォーマットを最もきめ細かく制御できます。サブレポートの表示は、パラメータで制御することもできます。

いずれの場合も、条件式を使用して、v 11.0で画像のX(左マージンからの距離)を制御できます。v 12.0では、条件式を使用してWidthプロパティを制御することもできます。条件式はパラメータフィールドを参照できるため、ポジショニングではユーザー指定の値を使用できます。

また、Crystal Reportsは限られたセット(確かにJPGとBMP)をサポートしているため、画像の種類を試す必要があります。

于 2011-05-09T14:42:06.283 に答える
0

これを行う最も簡単な方法は、2つの別々のレポートを作成し、ユーザーの選択に応じてコードLoad()を正しいものにすることです。これは、別々のWindowsフォームから取得されます。単一の入力フォームにする必要がある場合は、このフォームを使用してレポートのすべてのパラメーターを設定するような方法でこのフォームを作成することは(困難ですが)可能です。

于 2011-05-09T12:02:27.437 に答える
0

これを2つに分割すると、非常に多くの情報が届きます。最初に個別のレポートをロードします。

ドキュメントクラスのLoad()関数を条件付きで呼び出すことにより、実行時にロードするレポートを選択できます。この例は(c ++で)次のようになります。

ReportDocument myDocument = gcnew myDocument();
if(wideIDcard)
{
   myDocument->Load("wideIDCard.rpt");
}
else
{
   myDocument->Load("narrowIDCard.rpt");
}

ここで、ブール値のwideIDCardは、フロントエンドのドロップダウンボックスなどから設定されます。次に、ReportDocument myDocumentをレポートビューアに送信して、そのレポートを表示できます。

于 2011-05-16T09:01:22.053 に答える