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

نام تاپیک: نحوه خواندن و جستجو در بانک های حجیم و نمایش با کریستال ریپورت ، با استفاده از بک گراند ورکر

  1. #1

    نحوه خواندن و جستجو در بانک های حجیم و نمایش با کریستال ریپورت ، با استفاده از بک گراند ورکر

    سلام خدمت دوستان عزیز.
    در برنامه ای که من نوشتم، کاربر زمانی که بر روی دکمه چاپ کلیک می کنه، تقریبا یه 30 الی 40 ثانیه طول میکشه تا یه فرم که از نوع کریستال ریپورت هست، به نمایش در بیاد، که در این مدت، برنامه در حالت هنگ هستش، که البته این مشکل با استفاده از بک گراند ورکر حل شد، اما در این 30 الی 40 ثانیه، من می خوام از یه پروگرس بار استفاده کنم تا کاربر متوجه بشه برنامه داره یه کاری رو انجام می ده و کلا اینکه خب اینکار، جلوه خوبی به برنامه میده.اما مشکل اینجاست که نمی دونم چطور باید به پروگرس بار مقدار بدم که مثلا اگه 50 درصد کار نمایش کریستال ریپورت انجام شده، تو هم نصف پروگرس بارت رو پر کن....

    یا اینکه برای لود کردن یه بانک حجیم در یک دیتا تیبل، چطور باید برای برنامه تعریف کرد که با اون میزان از لود شدن بانک در حافظه، به مقدار پروگرس بار هم اضافه کن....
    یا اینکه وقتی عمل جستجویی رو در یه بانک حجیم انجام میدیم، تا زمانی که برنامه داره به دنبال اون اطلاعات می گرده، برنامه این درصد پیشرفت رو در یک پروگرس بار نشون بده....

    جهت اطلاع بگم که من فقط می دونم که باید اون قسمت از برنامه رو که سنگین هست، در رویداد Do Work بک گراند بنویسم و در رویداد کامپلت هم مثلا یه پیغام بدم که کار با موفقیت انجام شد...
    از دوستانی که می دونن چطور باید اینکار رو انجام داد، ممنون می شم راهنمایی کنن.

  2. #2
    کاربر دائمی
    تاریخ عضویت
    مرداد 1388
    محل زندگی
    کنار یه ساحل خیلی زیبا
    پست
    922

    نقل قول: نحوه خواندن و جستجو در بانک های حجیم و نمایش با کریستال ریپورت ، با استفاده از بک گراند ورک

    بفرما

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Threading;
    using System.IO;


    namespace WindowsFormsApplication1
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }

    private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
    {
    string[] s = Directory.GetFiles("k:\\mp3","*.*",SearchOption.Al lDirectories);
    this.BeginInvoke((MethodInvoker)delegate { progressBar1.Maximum = s.Length; });
    int a=0;
    foreach (string item in s)
    {

    backgroundWorker1.ReportProgress(a++, item);
    this.BeginInvoke((MethodInvoker)delegate { label1.Text = a.ToString(); });
    Thread.Sleep(50);
    }

    }

    private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
    {
    progressBar1.Value = e.ProgressPercentage;
    this.Text = e.UserState.ToString();
    listBox1.Items.Add(e.UserState);
    }

    private void Form1_Load(object sender, EventArgs e)
    {
    backgroundWorker1.RunWorkerAsync();
    }

    private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
    {
    progressBar1.Value = progressBar1.Maximum;
    }
    }
    }


  3. #3

    نقل قول: نحوه خواندن و جستجو در بانک های حجیم و نمایش با کریستال ریپورت ، با استفاده از بک گراند ورک

    با تشكر از توجه شما دوست عزيز، كدي كه شما نوشتين اگر اشتباه نكنم براي كار با فايل هاست، اما من مي خوام كه از اين روش براي پر كردن ديتا تيبل استفاده كنم !!! كجاي اين كد ها رو بايد تغيير بدم؟ البته ببخشيد اگر سوالم خيلي مبتديانه ست !
    آخرین ویرایش به وسیله behnam-soft : سه شنبه 16 مهر 1392 در 13:11 عصر

  4. #4

    نقل قول: نحوه خواندن و جستجو در بانک های حجیم و نمایش با کریستال ریپورت ، با استفاده از بک گراند ورک

    همچنان منتظر !!!

  5. #5

    نقل قول: نحوه خواندن و جستجو در بانک های حجیم و نمایش با کریستال ریپورت ، با استفاده از بک گراند ورک

    دوستان کسی واقعا بلدنیست اینکار رو باید چطور انجام داد؟

  6. #6
    کاربر دائمی آواتار khokhan
    تاریخ عضویت
    دی 1388
    محل زندگی
    اسکو
    پست
    2,176

    نقل قول: نحوه خواندن و جستجو در بانک های حجیم و نمایش با کریستال ریپورت ، با استفاده از بک گراند ورک

    نقل قول نوشته شده توسط behnam-soft مشاهده تاپیک
    دوستان کسی واقعا بلدنیست اینکار رو باید چطور انجام داد؟
    .................................................. .............................
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Threading;

    namespace myCryst
    {
    public partial class Form1 : Form
    {
    DataSet ds;
    frmCryst f = new frmCryst();
    public Form1()
    {
    InitializeComponent();
    }

    private void bgWorker_DoWork(object sender, DoWorkEventArgs e)
    {
    bgWorker.ReportProgress(10);
    Thread.Sleep(164);
    bgWorker.ReportProgress(20);
    Thread.Sleep(164);
    bgWorker.ReportProgress(30);
    Thread.Sleep(164);
    ds = DBClass.ExecQuery("select * from students");
    bgWorker.ReportProgress(40);
    Thread.Sleep(164);
    bgWorker.ReportProgress(50);
    Thread.Sleep(164);
    bgWorker.ReportProgress(70);
    Thread.Sleep(164);
    bgWorker.ReportProgress(95);
    Thread.Sleep(164);
    bgWorker.ReportProgress(100);
    }
    private void bgWorker_ProgressChanged(object sender, ProgressChangedEventArgs e)
    {
    this.progressBar1.Value = e.ProgressPercentage;
    }
    private void bgWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
    {
    showCrystalReport();
    }
    private void button1_Click(object sender, EventArgs e)
    {
    bgWorker.ProgressChanged += new ProgressChangedEventHandler(bgWorker_ProgressChang ed);
    bgWorker.WorkerReportsProgress = true;
    bgWorker.RunWorkerAsync();
    }
    private void showCrystalReport()
    {
    CrystalReport1 c = new CrystalReport1();
    Reportds d = new Reportds();
    d.Tables[0].Merge(ds.Tables["tab"]);
    frmCryst f = new frmCryst();
    c.SetDataSource(d);
    f.crystRep.ReportSource = c;
    f.Show();
    }
    private void button2_Click(object sender, EventArgs e)
    {
    Application.Exit();
    }
    }
    }


    Untitled.jpg
    فایل های ضمیمه فایل های ضمیمه

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

  1. نحوه خواندن مقدار از درون کد های خاص
    نوشته شده توسط کامبیز اسدزاده در بخش C#‎‎
    پاسخ: 7
    آخرین پست: دوشنبه 15 آبان 1391, 14:54 عصر
  2. پاسخ: 1
    آخرین پست: سه شنبه 17 آبان 1390, 14:02 عصر
  3. پاسخ: 20
    آخرین پست: جمعه 17 تیر 1390, 14:12 عصر
  4. سوال: نحوه خواندن عنوان پنجرهای باز برنامه های مختلف ویندوز با C++‎
    نوشته شده توسط vahid.ja در بخش برنامه نویسی با MFC و ++Visual C
    پاسخ: 0
    آخرین پست: شنبه 11 دی 1389, 19:06 عصر

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

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