私はこのように1つのButtonField列を持つGridViewを持っています: IDという1つの入力パラメータを持つストアドプロシージャに基づいてCrystalレポートを作成しました。 私はIDをGridViewのDataKeyNamesに保持しました。GridViewからcrystal reportを表示する方法は?
グリッドビューの印刷ボタンをクリックすると、対応するクリスタルレポートが表示されます。
あなたの役に立つヒントを待ち望んでいます。
私はこのように1つのButtonField列を持つGridViewを持っています: IDという1つの入力パラメータを持つストアドプロシージャに基づいてCrystalレポートを作成しました。 私はIDをGridViewのDataKeyNamesに保持しました。GridViewからcrystal reportを表示する方法は?
グリッドビューの印刷ボタンをクリックすると、対応するクリスタルレポートが表示されます。
あなたの役に立つヒントを待ち望んでいます。
私は答えを得ました。
if (e.CommandName == "printReport")
{
int ID = Convert.ToInt32(GridView1.SelectedDataKey.Value);
try
{
CrystalDecisions.CrystalReports.Engine.ReportDocument rpt =
new CrystalDecisions.CrystalReports.Engine.ReportDocument();
string conn = ConfigurationManager.ConnectionStrings["ConnectionString"].ToString();
string[] str = conn.Split(';');
string server = str[0].Substring(str[0].IndexOf(" = ") + 3);
string database = str[1].Substring(str[1].IndexOf(" = ") + 3);
string userid = str[2].Substring(str[2].IndexOf(" = ") + 3);
string password = str[3].Substring(str[3].IndexOf(" = ") + 3);
rpt.Load(Server.MapPath("~/Engineering/Reports/Report.rpt"));
for (int i = 0; i < rpt.DataSourceConnections.Count; i++)
rpt.DataSourceConnections[i].SetConnection(server, database, userid, password);
rpt.SetParameterValue(0, ID);
rpt.ExportToHttpResponse(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, HttpContext.Current.Response, true, "Report");
}
catch (Exception ex)
{
return ex.ToString();
}
}
グリッドビューをクリスタルレポートに直接エクスポートする方法はありません。
データセットを使用して同じクエリを呼び出し、レポートするデータセットを渡します。
私はidを割り当てたいdatagridイベントはありません。 – thevan