View Full Version : سوال: چاپ رسید ثبت نام بر روی کاغذ چاپ شده
  
jaykob
یک شنبه 26 اردیبهشت 1395, 17:38 عصر
سلام 
من می خوام رسید ثبت نام رو در ثبت نام خودم چاپ کنم ولی مشکل اینجاست که این رسید ها با ابعاد حدود A5 از قبل چاپ شدن و من باید روی این برگه ها چاپ بزنم و جاهای خالی رو پر کنم . ممنون می شم راهنمایی کنید چطور این کار رو بکنم . به نظر خودم استفاده از HTML ایده خوبی نبود چون روی سیستم ها و مرورگر های مختلف مشکل به وجود می آد
با تشکر
Roia_del
یک شنبه 26 اردیبهشت 1395, 21:57 عصر
بهتره از یکی از گزارش سازهای Telerik یا StimulSoft یا FastReport استفاده کنید.
و یا اینکه میتونید با iTextSharp استفاده کنید که بصورت Manual ، Pdf درست کنید و نشون بدید کاربر چاپ کنه.
من خودم گزارشاتم رو با Telerik Reporting کار میکنم که راحت تره برام.
تو Telerik عکس کاغذ رو میندازم رو گزارش و گزینه ها رو بهش اضافه میکنم. در نهایت عکس رو حذف یا نامرئی میکنم و تموم.
jaykob
دوشنبه 27 اردیبهشت 1395, 09:12 صبح
بهتره از یکی از گزارش سازهای Telerik یا StimulSoft یا FastReport استفاده کنید.
و یا اینکه میتونید با iTextSharp استفاده کنید که بصورت Manual ، Pdf درست کنید و نشون بدید کاربر چاپ کنه.
من خودم گزارشاتم رو با Telerik Reporting کار میکنم که راحت تره برام.
تو Telerik عکس کاغذ رو میندازم رو گزارش و گزینه ها رو بهش اضافه میکنم. در نهایت عکس رو حذف یا نامرئی میکنم و تموم.
سلام 
ممنون از شما . آموزش همین یک تیکه رو شما می تونید بدید یا اینکه لینکی چیزی بدید این کار سریعتر بتونم انجام بدم ...
تشکر
Roia_del
دوشنبه 27 اردیبهشت 1395, 09:36 صبح
اول از همه باید Telerik Reporting رو نصب کنی من نسخه 2016 Q1 رو استفاده میکنم. بعد دوم اینکه از EntityFramework استفاده میکنی برای گزارشات یا نه از Ado.NET ?
jaykob
دوشنبه 27 اردیبهشت 1395, 11:06 صبح
اول از همه باید Telerik Reporting رو نصب کنی من نسخه 2016 Q1 رو استفاده میکنم. بعد دوم اینکه از EntityFramework استفاده میکنی برای گزارشات یا نه از Ado.NET ?
سلام مجدد
بله اون رو می گیرم . آره از EF Code First استفاده می کنم
تشکر
Roia_del
دوشنبه 27 اردیبهشت 1395, 11:33 صبح
در هر دو حالت این مورد استفاده میشود . ولی برای اینکه از کلاس ها و ویو مدل های برنامه ات تو گزارش استفاده کنی کارش فرق میکنه که من توضیح ندادم.
این گزارش مستقیم اطلاعات رو از دیتابیس واکشی میکنه .
من فرض میکنم که شما یه ConnectionString با نام TelerikSample در Web.Config اضافه کردید.
همون ConnectionString رو باید در فایلهای Telerik.ReportDesigner.exe.config و Telerik.ReportDesigner.x86.exe.config جا گذاری کنی . که تو مسیر زیر هستند
C:\Program Files (x86)\Telerik\Reporting Q1 2016\Report Designer البته تو سیستم من که اونجا نصب کردم.
این فایلها یه قسمت ConnectionStrings دارند که مثل web.config فقط کافیه connectionString رو اونجا کپی کنی.
<add name="TelerikSample"
        connectionString="Data Source=.;Initial Catalog=TelerikSample;User Id=sa;Password=xxxxxx"
        providerName="System.Data.SqlClient" />
من فرض میکنم شما یه دیتابیس دارید با همون نام و یه جدول مثل Persons . خوب یکی از اون فایلهای Exe رو تو مسیر بالا اجرا کن.
توی پروژه MVC ، رفرنس هاتون رو به پروژه اضافه کنید : 
Telerik.Reporting.dll
Telerik.Reporting.Services.WebApi.dll
Telerik.Reporting.XpsRendering.dll
Telerik.ReportViewer.Mvc.dll
کد نمونه در http://hamed-maleki.ir/TelerikSamMvc.rar
ساخت گزارش در تلریک : http://www.aparat.com/v/FsVXh
 (http://www.aparat.com/v/FsVXh)
مواردی که باید در پروژه مد نظر داشته باشید : 
1) یک apiController به نام ReportController هست که همیشه همینجوری باشه. چون توی ویو ازش استفاده کردیم تو سطر سوم.
  @(Html.TelerikReporting().ReportViewer()
      .Id("reportViewer1")
      .ServiceUrl(Url.Content("~/api/reports/"))
      .ReportSource(Model)
      .ViewMode(ViewMode.Interactive)
      .ScaleMode(ScaleMode.Specific)
      .Scale(1.0)
      .PersistSession(false)
      .PrintMode(PrintMode.AutoSelect)
      .TemplateUrl("/ReportViewer/templates/telerikReportViewerTemplate.html")
      .Deferred())
2- فایل گزارش رو در مسیر Content/Reports گذاشتم
3- فولدرهای ReportViewer و Resources برای گزارشات ضروری می باشند.
4- در فایل web.config در مسیر Views/web.config فضاهای نام را اضافه نمایید . 
 <add namespace="Telerik.Reporting" />
        <add namespace="Telerik.ReportViewer.Mvc" />
که الان مال من این شکلیه 
<system.web.webPages.razor>
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <pages pageBaseType="System.Web.Mvc.WebViewPage">
      <namespaces>
        <add namespace="System.Web.Mvc" />
        <add namespace="System.Web.Mvc.Ajax" />
        <add namespace="System.Web.Mvc.Html" />
        <add namespace="System.Web.Optimization"/>
        <add namespace="System.Web.Routing" />
        <add namespace="TelerikSamMvc" />
        <add namespace="Telerik.Reporting" />
        <add namespace="Telerik.ReportViewer.Mvc" />
      </namespaces>
    </pages>
  </system.web.webPages.razor>
در فایل App_Start/WebApiConfig.cs خط زیر را در آخر تابع Register قراردهید
Telerik.Reporting.Services.WebApi.ReportsControlle rConfiguration.RegisterRoutes(config);
کد اکشن برای گزارش موجود با پارامتر PersonId مساوی 2 ست شده است که به شکل زیر است
 var reportGeneral = new UriReportSource() { Uri = Server.MapPath("~/Content/Reports/TelerikSampleReport.trdx") };
            reportGeneral.Parameters.Add("PersonId", 2);
                        
            return View(reportGeneral);
کد ویو برا نماش گزارش 
@model  Telerik.Reporting.UriReportSource
@{
    ViewBag.Title = "نمایش گزارش";
}
@section styles
{
    <link href="http://kendo.cdn.telerik.com/2015.3.930/styles/kendo.common.min.css" rel="stylesheet" />
    <link href="http://kendo.cdn.telerik.com/2015.3.930/styles/kendo.blueopal.min.css" rel="stylesheet" />
    <style>
        #reportViewer1 {
            position: absolute;
            left: 5px;
            right: 5px;
            top: 60px;
            bottom: 5px;
            overflow: hidden;
            font-family: Verdana, Arial;
        }
    </style>
}
        @(Html.TelerikReporting().ReportViewer()
      .Id("reportViewer1")
      .ServiceUrl(Url.Content("~/api/reports/"))
      .ReportSource(Model)
      .ViewMode(ViewMode.Interactive)
      .ScaleMode(ScaleMode.Specific)
      .Scale(1.0)
      .PersistSession(false)
      .PrintMode(PrintMode.AutoSelect)
      .TemplateUrl("/ReportViewer/templates/telerikReportViewerTemplate.html")
      .Deferred())
@section scripts
{
    <!--kendo.all.min.js can be used as well kendo.web.min.js and kendo.mobile.min.js-->
    <script src="@Url.Content("~/ReportViewer/js/kendo.subset.2015.3.930.min.js")"></script>
    <script src="@Url.Content("~/ReportViewer/js/telerikReportViewer-10.0.16.113.js")"></script>
    @(
        // All deferred initialization statements will be rendered here
        Html.TelerikReporting().DeferredScripts()
    )
}
البته در فایل Layout برای Section های scripts و styles ضروری بودن رو false کنید.
رشته اتصال هم در فایل web.config روت به شکل زیره
<add name="TelerikSample" connectionString="Data Source=.;Initial Catalog=TelerikSample;User Id=sa;Password=*****#" providerName="System.Data.SqlClient" />
parsa60
جمعه 28 شهریور 1404, 18:52 عصر
سلام وقت بخیر
ببخشید خیلی گذشته ولی من خطای لایسنس می گیرم میشه راهنمایی کنید .
من از  "Telerik Collection for .NET 2024 Q4 Retail"  استفاده می کنم . در راهنمای کرک نوشته فایل لایسنس را کپی کن. من انجام دادم برای کامپوننت های عادی مشکل لایسنس رفع شده ولی برای Reporting هنوز مشکل دارم . ظاهرا داخل اون فایل لایسنس ریپورت نیستش.
Your Telerik Reporting trial has expired. Learn more about Telerik Reporting licensing
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.