GridView
支払いに関する詳細を含むいくつかの列を含む があります。Crystal Reports を使用して、特定の行を選択し、印刷ボタンをクリックすると対応する行のレポートを取得できるようにレポートを作成したいと考えています。
1589 次
1 に答える
0
それほど難しくありません。私はしばしば人々にhttp://csharp.net-informations.com/crystal-reports/csharp-crystal-reports-string-parameter.htmを紹介します
基本的に、payment_id (または何らかの形式の「主キー」) を取得するパラメーターを使用して Crystal Report を作成し、次のように印刷ボタンを設定します。
using System;
using System.Windows.Forms;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
namespace WindowsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
ReportDocument cryRpt = new ReportDocument();
cryRpt.Load("PUT CRYSTAL REPORT PATH HERE\CrystalReport1.rpt");
ParameterFieldDefinitions crParameterFieldDefinitions ;
ParameterFieldDefinition crParameterFieldDefinition ;
ParameterValues crParameterValues = new ParameterValues();
ParameterDiscreteValue crParameterDiscreteValue = new ParameterDiscreteValue();
crParameterDiscreteValue.Value = dataGridView1.SelectedRows[0].Cells["payment_id"].Value.ToString();;
crParameterFieldDefinitions = cryRpt.DataDefinition.ParameterFields;
crParameterFieldDefinition = crParameterFieldDefinitions["payment_id"];
crParameterValues = crParameterFieldDefinition.CurrentValues;
crParameterValues.Clear();
crParameterValues.Add(crParameterDiscreteValue);
crParameterFieldDefinition.ApplyCurrentValues(crParameterValues);
crystalReportViewer1.ReportSource = cryRpt;
crystalReportViewer1.Refresh();
}
}
}
于 2012-11-17T09:29:06.020 に答える