گزارش گیری در وب یک عملیاتیست که شاید در برخی مواقع زیاد کاربرد نداشته باشید و باعث کندی در برخی فرم ها شود ولی برای مدیریت ،کاربرد های خودش را دارد در این آموزش با گزارش گیری در ASP.NET با شما هستم ، آموزش به صورت بخش بخش بوده و در همه مراحل سعی شده تصویر مربوطه نیز ضمیمه شود تا به درک مطلب کمک زیادی کند ، نرم افزاری که گزارش گیری آن در این مقاله داریم کریستال ریپورت است ، ما کریستال ریپورت را در زبان سی شارپ و VB.NET برسی کردیم و نمونه کد را منتشر کردیم این بار به سراغ وب رفتیم و در وب این نرم افزار قدرتمند را استفاده کردیم امید وارم آموزش مورد استفاده قرار بگیره.در ادامه همراه ما باشید.
نکته:
دقت داشته باشید کریستال در نسخه ۲۰۰۸ به بالا در ویژوال استیدو نصب شده است و در نسخه های دیگر باید به صورت جداگانه نصب داشته باشید.
من از سه جدول زیر برای ایجاد گزارش (Crystal Reports) استفاده می کنم.
مشتری
محصول
قیمت_برانگیختن_سفارش
حالا در ادامه به آموزش توجه کنید.
نرم افزار ویژوال استادیو را باز کنید و سپس فایل مورد نظر رو انتخاب کنید —> وب سایت جدید.
روی Solution Explorer کلیک راست کنید و سپس آیتم جدید را انتخاب کنید —> کریستال ریپورت—-> اضافه کردن
در اینجا ایجاد کانکشن جدید را باز کنید و سپس OLE DB(ADO) را انتخاب کنید و سپس یک پنجره پاپ آپ باز می شود. Microsoft OLE DB Provider for SQL Server را انتخاب کنید و سپس روی بعدی (Next) کیلیک کنید.
حالا جزییات SQL Server خود را وارد کنید.
حالا پایگاه داده (دیتابیس) خود را انتخاب کنید و بعد از آن همه ی جداول (tables and Move) را انتخاب کنید.
حالا می تونید جداول خودتون را با رابطه آنها ببینید.
حالا ستون ها را (columns) انتخاب کنید تا در گزارش نشان داده شوند.
حالا می بینید که گزارش شما آماده است. همه ی ستون ها در حال حاضر در بخش جزئیات هستند. شما می توانید با کشیدن و رها کردن، از Field Explorer به گزارش خود جدولی اضافه کنید یا جدولی را حذف کنید.
حالا وقته اینه که یک گزارش (Report Viewer) اضافه کنیم که می تونیم اون رو در گزارش شفاف نشون بدیم. در صفحه ی Default.aspx، از جعبه ابزار CrystalReportViewer را مثل زیر کشیده و رها کنید.
کد صفحه ASPX:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <%@ Register Assembly="CrystalDecisions.Web, Version=10.5.3700.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>Crystal Report From More Than One Table</title> </head> <body> <form id="form1" runat="server"> <table cellpadding="10" cellspacing="10" width="70%" height="300px" align="center" style="border: solid 2px gray;"> <tr> <td align="center" style="background-color: SkyBlue;"> <span style="font-family: Times New Roman; font-size: 18pt; color: Green;">Customer Product Order Detail Report</span> </td> </tr> <tr> <td align="center"> <asp:Panel ID="pnlReport" runat="server" Height="400px"> <CR:CrystalReportViewer ID="CrystalReportViewer1" runat="server" AutoDataBind="true" /> </asp:Panel> </td> </tr> </table> </form> </body> </html>
حالا در Page_Load even کد زیر را وارد کنید:
using System; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using CrystalDecisions.CrystalReports.Engine; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { ReportDocument cryRpt = new ReportDocument(); cryRpt.Load(Server.MapPath("EmployeeCrystalReport.rpt")); CrystalReportViewer1.ReportSource = cryRpt; } }
حالا اجرا کنید.
سلام.وقت بخیر
من تمام کارهایی که شما انجام دادید رو انجام دادم و کدهام رو هم دقیقا مثل شما نوشتم اما گزارش نمایش داده نمیشه.
میشه لطفا راهنمایی کنید؟
۱۰
سلام
مشکل چیست؟
dll ها نصب شده اند؟
کریستال ریپورت نصب شده دارید؟
۸
بله.همه چیز رو نصب کردم اما بازم گزارش رو نشان نمیده و فقط پنل در فرم نمایش داده میشه
با ویژوال ۲۰۱۳ کار میکنم
۱۲