"> ارسال پارامتر در Crystal Report به زبان سی شارپ و ASP.NET

ارسال پارامتر در Crystal Report به زبان سی شارپ و ASP.NET

پارامتر در Crystal Report

در این مقاله نحوه ی ارسال پارامتر در Crystal Report با استفاده از سی شارپ و ASP.Net را خواهیم آموخت.

در ابتدا SAP Crystal Report مناسب ویژوال استودیو خود را دانلود کرده و روی سیستم خود نصب می کنیم و سپس با کمک کدهای ساده ای ادامه می دهیم. در ادامه ی مطلب نیز سورس برای دانلود قرار داده شده است …

پارامتر در Crystal Report

گام اول:

ویژوال استودیو را باز کرده و یک Empty Website به نام crystalrpt_demo ایجاد می کنیم.

گام دوم:

در Solution Explorer می توانید پروژه خود را مشاهده نمایید، یک Web Form و یک SQL Server Database و Dataset اضافه می کنیم.

Web Form:

روی نام پروژه راست کلیک کرده، Add New Item را انتخاب و سپس Web Form را انتخاب می کنیم و نام آن را crystalrpt_demo می گذاریم.

SQL Server Database:

روی نام پروژه راست کلیک کرده، Add New Item را انتخاب و این بار یک SQL Server Database در فولدر App_Data اضافه می کنیم.

Dataset:

روی نام پروژه راست کلیک کرده، Add New Item را انتخاب و این بار یک Dataset در فولدر App_Code اضافه می کنیم.

گام سوم:

در Server Explorer، روی Database کلیک کرده، Tables و سپس Add New Table را انتخاب می کنیم. جدولی مانند جدول زیر با نام tbl_data ایجاد می کنیم.

فراموش نکنید که IS Identity را برای فیلد Id فعال نمایید.

پارامتر در Crystal Report

تعدادی داده به جدول خود اضافه می کنیم. برای این کار روی نام جدول راست کلیک کرده، show tbl_data را انتخاب و داده ها را وارد می کنیم.

پارامتر در Crystal Report

Store Procedure ای با عنوان sp_sselect:

پارامتر در Crystal Report

روی Datasetای که در فولدر App_Code قرار دارد، همانطور که در شکل زیر نشان داده شده، دابل کلیک می کنیم.

پارامتر در Crystal Report

زمانی که روی dataset دابل کلیک کنیم، فضای خالی مانند شکل زیر در اختیار ما قرار می گیرد که مانند آنچه در زیر گفته شده عمل می کنیم.

روی فضای خالی راست کلیک کرده و یک DataTable اضافه می کنیم.

پارامتر در Crystal Reportپارامتر در Crystal Report

نام Datatable را به Newtbl_data تغییر می دهیم و باید سه ستون برای Id، نام و شهر همانطور که در جدول tbl_data داریم اضافه کنیم. درنهایت چیزی شبیه به شکل زیر خواهیم داشت:

پارامتر در Crystal Report

بعد از انجام این فرایند، باید به سراغ crystalrpt_demo رفته روی آن راست کلیک کرده و با Add -> New Item فایل Crystal Report.rpt را پیدا می کنیم.

پارامتر در Crystal Report

زمانی که Crystal Report Galllery اضافه شده را باز کنید، مانند شکل زیر خواهد بود:

پارامتر در Crystal Report

بعد از این مرحله، تصویری مانند زیر خواهید دید:

پارامتر در Crystal Report

زمانی که crystal report شما مانند تصویر بالا باز می شود، می توانید آن را در Field Explorer مشاهده کنید.

پارامتر در Crystal Report

روی Field Explorer- Database Expertراست کلیک کرده، Create New Connection را انتخاب کنید، در اینجا باید جدولی که در Dataset ایجاد کردیم به عنوان مثال Newtbl_data را مشاهده کنیم.

زمانی که جدول شما ظاهر شد با استفاده از دکمه “<<” آن را به سمت راست انتقال دهید و Ok کنید.

پارامتر در Crystal Report

به این ترتیب جدول Newtbl_data را می توانید در Field Explorer مشاهده نمایید.

پارامتر در Crystal Report

در اینجا باید فیلدهای دیتابیس خود یعنی Id، Name و City را به crystal report، قسمت Section 3 – page Details اضافه کنیم. می توانیم فیلدها را به این قسمت Drag کنیم.

پارامتر در Crystal Report

در Field Explorer روی Parameter راست کلیک کرده و سپس روی New کلیک می کنیم.

پارامتر در Crystal Report

پنجره Parameter باز خواهد شد که باید پارامتری به آن اضافه کنید.

پارامتر در Crystal Report

حال به crystal Report و Detail Section رفته راست کلیک کرده و Report را انتخاب می کنیم، سپس روی Selection Formula و پس از آن Record کلیک می کنیم.

پارامتر در Crystal Report

به این ترتیب Formula workshop باز خواهد شد.

قسمت طراحی:

گام چهارم:

حال فایل crystalrpt_demo را باز می کنیم تا طراحی مربوط به crystal report را انجام دهیم. برای این کار Crystal Report Viewer را اینجا اضافه می کنیم.

به Toolbox رفته و در قسمت Reporting، Crystal Report Viewer را drag کرده و روی صفحه می اندازیم.

Crystalrpt_demo.aspx:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>  
  
<%@ Register assembly="CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" namespace="CrystalDecisions.Web" tagprefix="CR" %>  
  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  
<html xmlns="http://www.w3.org/1999/xhtml">  
<head runat="server">  
    <title></title>  
</head>  
<body>  
    <form id="form1" runat="server">  
    <div>  
  
        Select Age <=   
  
        <asp:DropDownList ID="DropDownList1" runat="server">  
            <asp:ListItem>Select Age</asp:ListItem>  
            <asp:ListItem>10</asp:ListItem>  
            <asp:ListItem>20</asp:ListItem>  
            <asp:ListItem>15</asp:ListItem>  
            <asp:ListItem>30</asp:ListItem>  
            <asp:ListItem>50</asp:ListItem>  
        </asp:DropDownList>  
      
            
    <asp:Button ID="Button1" runat="server" onclick="Button1_Click"   
            Text="Find Record" />  
      
        <CR:CrystalReportViewer ID="CrystalReportViewer1" runat="server"   
            AutoDataBind="true" />  
      
    </div>  
    </form>  
</body>  
</html>  

قسمت کد:

گام پنجم:

فایل crystalrpt_demo.adppx.cs را باز کرده و کدهایی برای اجرای برنامه می نویسیم.

در ابتدا فضاهای نام موردنیاز برنامه را اضافه می کنیم.

پارامتر در Crystal Report

using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Web;  
using System.Web.UI;  
using System.Web.UI.WebControls;  
using System.Data;  
using System.Data.SqlClient;  
using CrystalDecisions.ReportSource;  
using CrystalDecisions.Reporting;  
using CrystalDecisions.CrystalReports.Engine;  
  
public partial class _Default : System.Web.UI.Page  
{  
  
    ReportDocument rprt = new ReportDocument();  
    protected void Page_Load(object sender, EventArgs e)  
    {  
         
    }  
    protected void Button1_Click(object sender, EventArgs e)  
    {  
        rprt.Load(Server.MapPath("~/CrystalReport.rpt"));  
        SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True");  
        SqlCommand cmd = new SqlCommand("sp_select", con);  
        SqlDataAdapter sda = new SqlDataAdapter(cmd);  
        DataTable dt = new DataTable();  
        sda.Fill(dt);  
        rprt.SetDataSource(dt);  
        rprt.SetParameterValue("age1", DropDownList1.Text);  
        CrystalReportViewer1.ReportSource = rprt;  
        CrystalReportViewer1.DataBind();  
    }  
}  

خروجی

پارامتر در Crystal Reportپارامتر در Crystal Report

موفق باشید !

داریوش فرخی

داریوش فرخی هستم از سال 92 شروع به یادگیری برنامه نویسی و از سال 93 در بخش برنامه نویسی و تولید محتوای سایت mspsoft.com مشغول هستم. فعالیتم نیز بیشتر در زمینه های برنامه نویسی با سی شارپ و asp.net بوده است. اوقات فراغتم را هم غالبا با تماشای فیلم یا بازی های کامپیوتری پر میکنم .

نوشته‌های مرتبط

دیدگاه‌ها

*
*

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

کدیشن ! مارکت پروژه های برنامه نویسی راه اندازی شدیه توکه پا بریم ببینم