اجرای گزارش کریستال ریپورت با کانکشن استرینگ داینامیک
در WPF با گزارشات ساخته شده توسط Crystal Report برای اطلاعاتی که از SQL Server به روش Entity Frame work میگیره چطور گزارش رو تنظیم کنیم که طبق کانکشن استرینگ داینامیک که ما تنظیم کردیم در برنامه اطلاعات رو نشون بده منظورم :
مثل نام سرور و دیتابیس که تنظیم میکنیم , چطور برای گزارشی که ساختیم هم همین کار رو بکنم که گزارش رو از Connection String که داریم بگیره ؟
پاسخ هوش مصنوعی
برای استفاده از کانکشن استرینگ داینامیک در Crystal Report در یک برنامه WPF، شما می توانید از کد زیر استفاده کنید تا کانکشن استرینگ را به گزارش خود اختصاص دهید.
ابتدا باید اطلاعات کانکشن استرینگ را از برنامه خود دریافت کنید و سپس از آن برای تنظیم کانکشن گزارش استفاده کنید:
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
// نام فایل گزارش
string reportPath = "مسیر_گزارش.rpt";
ReportDocument reportDocument = new ReportDocument();
reportDocument.Load(reportPath);
// تنظیم کانکشن استرینگ
string serverName = "نام_سرور";
string databaseName = "نام_دیتابیس";
string userId = "نام_کاربری";
string password = "رمزعبور";
ConnectionInfo connectionInfo = new ConnectionInfo
{
ServerName = serverName,
DatabaseName = databaseName,
UserID = userId,
Password = password
};
// تنظیم کانکشن برای جداول گزارش
foreach (Table table in reportDocument.Database.Tables)
{
TableLogOnInfo tableLogOnInfo = table.LogOnInfo;
tableLogOnInfo.ConnectionInfo = connectionInfo;
table.ApplyLogOnInfo(tableLogOnInfo);
}
// نمایش گزارش در ویو
crystalReportViewer.ReportSource = reportDocument;
در این کد:
- شما می توانید مسیر گزارش را در متغیر
reportPathمشخص کنید. - کانکشن استرینگ شامل نام سرور، نام دیتابیس، نام کاربری و رمزعبور است که در
ConnectionInfoتنظیم شده است. - در حلقه
foreach، علاوه بر جداولی که در گزارش وجود دارد، کانکشن جدید اعمال می شود.
اکنون با این تنظیمات، گزارش شما از کانکشن استرینگ داینامیک اطلاعات را دریافت می کند.
نمایش گزارش در کریستال ریپورت با کانکشن استرینگ داینامیک
بررسی شد ظاهرا اون کانکشن استرینگ داینامیک مربوط به استیمول سافت بود نه کریستال ریپورت
نمایش گزارش استیمول سافت روی Client
فیلم آموزش استفاده از استیمول سافت با کانکشن استرینگ داینامیک
در مورد کریستال ریپورت و استفاده از اون در WPF و انتیتی فریم ورک به صورت داینامیک میتونید کدهای زیر رو استفاده کنید. دقت کنید این کدها از یک پروژه کپی و پیست شده و شما ممکنه نیاز باشه قدری تغییرات بدید.
private void btnPrint_Click(object sender, RoutedEventArgs e)
{
string path = System.AppDomain.CurrentDomain.BaseDirectory + "reports\\" + this.Report_Name;
RD.Load(path);
//تنظیم اطلاعات ارتباطی با دیتابیس
ConnectionInfo connectioninfo = new ConnectionInfo();
connectioninfo.UserID = "DataBaseUserID";
connectioninfo.DatabaseName = "DataBaseName";
connectioninfo.Password = "DataBasePassword";
connectioninfo.ServerName = "ServerName";
connectioninfo.IntegratedSecurity = false;
SetDBLoginForReport(connectioninfo, RD);
CRV.ViewerCore.ReportSource = RD;
}
کدهای بالا برای ایجاد یک کانکشن استرینگ داینامیک در کریستال ریپورت در WPF استفاده میشه.
- برای کسب و کار تلگرام پرمیوم بهتره یا واتس اپ بیزینس ؟
- جلوگیری از انتشار غیرمجاز مطالب در کانال های تلگرامی
- تفاوت های تلگرام و واتس اپ چیست ؟
- چرا استوری های واتس اپ برای دوستان نمایش داده نمیشن ؟
- چند تا استوری رایگان می تونیم تلگرام بذاریم ؟
- خطای Severity Code Description Project هنگام استارت پروژه
- کار نکردن navBar و sideBar در پروژه Asp.net core
- خطا موقع استفاده از Api در سی شارپ
- آموزش استفاده از پلاگین گردونه شانس در Asp.net core به همراه سورس
- نمایش متن به صورت فرمت شده در CkEditor
- مشکل تاریخ شمسی در سی شارپ
- نمایش گزارش stimulsoft روی کلاینت
- تفاوت های سی شارپ 8 با نسخه های قبلی چیه؟
- انتخاب چند سطر دلخواه توسط چک باکس در DataGrid و محاسبه جمع سطرهای انتخاب شده
- نمایش نوتیفکیشن در سی شارپ
- ارسال پارامتر از سی شارپ به استیمول سافت
- عدم نمایش عکس در دیتاگرید ویو در wpf
- Library Animation برای کنترلهای WPF
- رفع خطا در مایگریشن - Specify ON DELETE NO ACTION or ON UPDATE NO ACTION
- مشکل در تغییر مقدار Text کنترل RibbonBar در کامپوننت DevExpress