1

まず、私の現状を説明したいと思います。ストアドプロシージャ「sp」を使用してデータセット「ds」からデータを取得するRDLCがあります。「ds」から「bar_code」と呼ばれるString型のフィールドを取得でき、次に3of9フォントと組み合わせたプレースホルダーで使用してバーコードを生成できるとします。

ここで、同じ結果を取得したいと思いますが、文字列を指定すると、BMPまたはJPEG形式のバーコードの画像を返す別のメソッドを使用します。この方法は、 http://www.techrepublic.com/blog/howdoi/how-do-i-generate-barcodes-using-c/173ですでに説明されています。

私の質問:ReportViewerコードビハインド(.aspx.cs)にメソッドを書くことは可能ですか?可能であれば、その「bar_code」をこのメソッドに渡して、結果(JPEGまたはBMP)をRDLCに埋め込むにはどうすればよいですか?

4

4 に答える 4

2

私は答えを見つけました。コード ビハインドから DataSetTableAdapter を呼び出してストアド プロシージャから画像に変換する値を取得し、必要なパラメーターを入力してから、結果を DataTable に格納できます。その後、各行をループし、取得した値を BMP バーコードを生成するメソッドに渡します。重要なのは、この BMP を System.Byte[] 型の列に格納する必要があるため、DataTable にその型の新しい列を追加することです。System.Object に格納すると機能しません。MemoryStream を使用してイメージを Byte[] に保存します。

MemoryStream ms = new MemoryStream(); image_result.Save(ミリ秒、System.Drawing.Imaging.ImageFormat.Png);

次に、その新しい DataTable を使用するように RDLC DataSource を設定し、RDLC にイメージのタイプごとにプレースホルダーを追加します。

于 2012-07-05T11:57:37.890 に答える
1

RDLC レポート (Web および Windows) をサポートする Barcode.dllバーコード コンポーネントを使用できます。

RDLCコードタブへの1つの簡単な方法が必要です:

  1. Report.rdlc をデザイン モードで開き、灰色のフィールドのコンテキスト メニューから [プロパティ] を選択します。「参照」タブを見ると、そこで Barcode.dll が参照されており、BarcodeFactory がインスタンス化されています。b. Barcode.dll は GAC に登録する必要があることに注意してください - インストーラーが登録します。c. 「コード」タブを見ると、GetBarcode128 メソッドが定義されています。

  2. 「ID」テキストの下にある Image コントロールを見て、そのプロパティに注意してください。 MimeType "image/png" Source "DataBase" Value "=Code.GetBarcode128(Fields!Name.Value)"

ダウンロード パッケージには、RDLC サンプルが含まれています。

于 2012-07-05T14:57:07.007 に答える
0

あなたが参照しているその記事には、aspx からバーコードを生成する方法に関する情報があります。

小さな部分が 1 つ欠けています。「BarcodeGenerator.aspx?data=11111111」リンクを<img>html のノードの「src」として使用します。

ちなみに、この場合は「jpg」よりも「gif」の方が適しています。通常、「bmp」は大きすぎます。

于 2012-07-05T09:15:17.473 に答える