نمایش نتایج 1 تا 6 از 6

نام تاپیک: کند عمل کردن استیمول سافت در هنگام گزارش گیری

  1. #1
    کاربر دائمی آواتار samiasoft
    تاریخ عضویت
    مهر 1391
    محل زندگی
    اردبیل
    پست
    1,242

    کند عمل کردن استیمول سافت در هنگام گزارش گیری

    سلام دوستان

    نرم افزار من به روش انتیتی فریمورک با دیتابیس sql ارتباط دارد.

    زمانی که میخواستم از جدول دیتاگرید یک گزارش با استیمول سافت تهیه کنم متاسفانه حدود 1 دقیقه باید منتظر بمونم تا گزارش رو انجام بده.

    واقعا چرا اینقدر زمان صرف میشه؟ درحالی که اطلاعات زیادی هم ندارم ! فقط 5 تا رکورد هست!

    کوئری آنچنان سنگینی هم ندارم فقط میخواستم برحسب کدپرسنلی اطلاعات را در بازه تاریخی fromDate و untilDate جستجو کنم.

    StiReport report = new StiReport();

    string fromDate = persianFromDate.Text;
    string untilDate = persianUntilDate.Text;


    int personelID;
    int.TryParse(searchidreport.Text, out personelID);


    var query = database.Tble_Attendance.SqlQuery("select * from Tble_Attendance where PersonelID_FK=@p0 AND AttendanceDate>=@p1 AND AttendanceDate<=@p2", personelID, fromDate, untilDate).ToList();
    grd_AttendanceReport.DataSource = query;



    report.Load(Application.StartupPath + @"\report\Report_Attendance.mrt");
    report.RegData("reportAttendance", query);



    report.Compile();
    report.Show();


    به نظرتون مشکل از نوع کوئری نیست که var انتخاب کردم؟البته از نوع لیست هم نوشتم اما تغییری نکرد

     List<Tble_Attendance> query = database.Tble_Attendance.SqlQuery("select * from Tble_Attendance where PersonelID_FK=@p0 AND AttendanceDate>=@p1 AND AttendanceDate<=@p2", personelID, fromDate, untilDate).ToList();


    ایا ممکن است این مشکل مربوط به نسخه استیمول سافت باشه؟
    من نسخه 2016 retail رو استفاده کردم
    آخرین ویرایش به وسیله samiasoft : شنبه 14 بهمن 1396 در 22:18 عصر

  2. #2
    کاربر دائمی آواتار samiasoft
    تاریخ عضویت
    مهر 1391
    محل زندگی
    اردبیل
    پست
    1,242

    نقل قول: کند عمل کردن استیمول سافت در هنگام گزارش گیری

    دوستان نظری نداشتید؟


    من پروژه رو هم در لینک زیر اپلود کردم ممنون میشوم یه نگاهی کنید...حتما قبلش دیتابیس رو اتچ کنید

    http://s9.picofile.com/file/83184704...timol.rar.html

  3. #3

    نقل قول: کند عمل کردن استیمول سافت در هنگام گزارش گیری

    در گزارش، DataSource1 را حذف و یک BusinessObject ایجاد کنید با ستونهای مورد نظر. در برنامه به جای RegData از RegBusinessObject برای ارسال داده ها به گزارش استفاده کنید.


    کوئری را هم میتونید به صورت linq بنویسید.

  4. #4
    کاربر دائمی آواتار رامین مرادی
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    آذربایجان
    پست
    1,961

    نقل قول: کند عمل کردن استیمول سافت در هنگام گزارش گیری

    نقل قول نوشته شده توسط Mahmoud.Afrad مشاهده تاپیک
    در گزارش، DataSource1 را حذف و یک BusinessObject ایجاد کنید با ستونهای مورد نظر. در برنامه به جای RegData از RegBusinessObject برای ارسال داده ها به گزارش استفاده کنید.


    کوئری را هم میتونید به صورت linq بنویسید.
    من اکثرا از دیتاتیبل ها استفاده میکنم این روش که معرفی کردین چه فرقی داره ؟ نیاز به کد نویسی خاصی داره یا عین همونه؟

  5. #5

    نقل قول: کند عمل کردن استیمول سافت در هنگام گزارش گیری

    سلام
    نکات رو آقای افراد فرمودند ، حالا اگر میخواید دقیقا همین کاری رو که انجام دادید ادامه بدید از این متد استفاده کنید (این رو بنده ننوشتم https://stackoverflow.com/questions/...nto-data-table)


    public static DataTable ToDataTable<T>(List<T> items)
    {
    DataTable dataTable = new DataTable(typeof(T).Name);


    //Get all the properties
    PropertyInfo[] Props = typeof(T).GetProperties(BindingFlags.Public | BindingFlags.Instance);
    foreach (PropertyInfo prop in Props)
    {
    //Defining type of data column gives proper data table
    var type = (prop.PropertyType.IsGenericType && prop.PropertyType.GetGenericTypeDefinition() == typeof(Nullable<>) ? Nullable.GetUnderlyingType(prop.PropertyType) : prop.PropertyType);
    //Setting column names as Property names
    dataTable.Columns.Add(prop.Name, type);
    }
    foreach (T item in items)
    {
    var values = new object[Props.Length];
    for (int i = 0; i < Props.Length; i++)
    {
    //inserting property values to datatable rows
    values[i] = Props[i].GetValue(item, null);
    }
    dataTable.Rows.Add(values);
    }
    //put a breakpoint here and check datatable
    return dataTable;
    }



    کدتون به این شکل تغییر میکنه

    StiReport report = new StiReport();


    string fromDate = persianFromDate.Text;
    string untilDate = persianUntilDate.Text;


    int personelID;
    int.TryParse(searchidreport.Text, out personelID);


    var query = database.Tble_Attendance.SqlQuery("select * from Tble_Attendance where AttendanceID=@p0 AND AttendanceDate>=@p1 AND AttendanceDate<=@p2", personelID, fromDate, untilDate).ToList();
    dataGridView1.DataSource = query;


    report.Load(Application.StartupPath + @"\Report_Attendance.mrt");
    report.RegData("reportAttendance", ToDataTable(query));


    report.Compile();
    report.Show();
    قوانین سایت برنامه نویس [ به سوالات از طریق پیام خصوصی پاسخ داده نمی شود ]

  6. #6
    کاربر دائمی آواتار samiasoft
    تاریخ عضویت
    مهر 1391
    محل زندگی
    اردبیل
    پست
    1,242

    نقل قول: کند عمل کردن استیمول سافت در هنگام گزارش گیری

    واقعا سپاسگزارم از شما عزیزان

    نقل قول نوشته شده توسط Mahmoud.Afrad مشاهده تاپیک
    در گزارش، DataSource1 را حذف و یک BusinessObject ایجاد کنید با ستونهای مورد نظر. در برنامه به جای RegData از RegBusinessObject برای ارسال داده ها به گزارش استفاده کنید.


    کوئری را هم میتونید به صورت linq بنویسید.
    فقط جناب افراد حال که توانستیم مشکل رو با BusinessObject حل کنیم ایا امکانش هست توضیحی بدید که چرا این مشکل کندی در اون حالت رخ میداد؟

    تفاوت دیتاسورس و BusinessObject در چی هستش؟

    ایا اینکه درحالت کلی میتوان اینطور گفت:

    اگر در دیتابیس جدول هایمان با هم ارتباطی ندارند > RegData و datasource

    ولی اگر در دیتابیس جدول هایمان با همدیگر ارتباط دارند برای سرعت بیشتر از BusinessObject و RegBusinessObject استفاده کنیم؟


    ایا این فرضیه درسته ؟
    آخرین ویرایش به وسیله samiasoft : یک شنبه 15 بهمن 1396 در 17:45 عصر

تاپیک های مشابه

  1. سوال: تبدیل اعداد موجود در SQL به فارسی در هنگام گزارش گیری
    نوشته شده توسط mehdin69 در بخش C#‎‎
    پاسخ: 4
    آخرین پست: چهارشنبه 18 خرداد 1390, 01:23 صبح
  2. عدم نمایش Crystal Report در هنگام گزارش گیری
    نوشته شده توسط mahfeh در بخش C#‎‎
    پاسخ: 3
    آخرین پست: دوشنبه 18 بهمن 1389, 22:14 عصر
  3. خطا در هنگام گزارش گیری
    نوشته شده توسط r_mehrizi در بخش گزارش سازی با Crystal Report
    پاسخ: 0
    آخرین پست: چهارشنبه 19 آبان 1389, 14:28 عصر
  4. پنهان کردن فیلد ها در هنگام گزارش گیری سابفرم
    نوشته شده توسط sinas1386 در بخش Access
    پاسخ: 4
    آخرین پست: پنج شنبه 05 اردیبهشت 1387, 10:35 صبح
  5. فیلتر کردن رکورد ها در موقع گزارش گیری
    نوشته شده توسط vbiman در بخش برنامه نویسی در 6 VB
    پاسخ: 6
    آخرین پست: شنبه 24 فروردین 1387, 21:36 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •