ورود

View Full Version : سوال: رفع سرعت لود شدن کریستا ریپورت



omidamiry
چهارشنبه 30 مرداد 1392, 18:15 عصر
با سلام

تو سیستم خودم
dell- Ram:2-Cpu:2
زمانی برنامه میخاد یه فاکتور 3 ردیف رو چاپ کنه زیاد طول نمی کشه ولی تو سیستم مشتری با همین اطلاعات سخت افزاری خیلی طور میکشه الاالخصوص لود اولیه کریستال ریپورت

چند تا راه پیدا کردم هی افاقه کرده ولی بام سرعت پایینه شماراه بهتری دارید؟

راه حل من

1 . ارسال اطلاعات با یک دیتا تیبل به فرم چاپ و ....




private void PrintForm_Load(object sender, EventArgs e)
{
this.Cursor = Cursors.WaitCursor;
this.Refresh();
try
{

rd.FileName = "CrystalReport1.rpt";
rd.SetDataSource(dt);
this.Refresh();
crystalReportViewer1.ReportSource = rd;
crystalReportViewer1.Show();
}
catch
{
MessageBox.Show("فرم چاپ مهیا نشد ");
}
this.Cursor = Cursors.Default;
}


راه حل بفرمائید

Amin69
چهارشنبه 30 مرداد 1392, 18:21 عصر
سلام. یکی از از اصلی ترین مشکلات کار با کریستال ریپورت، سرعت این ابزار هست که به همین دلیل خیلی ها مثه من از این ابزار استفاده نمی کنند! ابزارهایی مثه fastreport یا stimulreport سرعتشون بیشتره و البته کاراییشون. یا علی

Mahmoud Zaad
چهارشنبه 30 مرداد 1392, 18:28 عصر
سلام
متاسفانه کریستال ریپورت به شدت کنده، در بهترین حالت شما می تونید گزارشتون رو بوسیله پارامترها و خوندن سطرها و ستون های دیتاگریدویو تهیه کنید که سرعت رو تا حدودی بالا می بره (یه نمونه توی پست های من هست) که البته برای همه گزارش ها این روش مقدور نیست. برای اینکه کاربر اذیت نشه می تونید از بکگراندورکر استفاده کنید و یه تصویر یا فرم "لطفاً منتظر باشید..." به کاربر نمایش بدید که این هم بیشتر سرپوش گذاشتن رو مساله است و مشکل سرعت رو حل نمیکنه. در نهایت اگه مجبور نیستید از کریستال ریپورت استفاده کنید، خیلی راحت از فست ریپورت یا استیمول ریپورت استفاده کنید. هزینه اش (در ایران!) طراحی مجدد چند گزارش هست. یادگیری اینها هم کار سختی نیست.

kebriya
پنج شنبه 07 شهریور 1392, 12:59 عصر
اگه از store procedure استفاده کنی خیلی خیلی بهتر میشه