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

نام تاپیک: تداخل در واکشی اطلاعات از database در رویداد TextChanged با استفاده از BackGroundWorker

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #1

    Question تداخل در واکشی اطلاعات از database در رویداد TextChanged با استفاده از BackGroundWorker

    سلام، اشکال این کدها چیه چرا Theredها با هم تداخل میکنن؟! من می خوام در واقع هر وقت کاراکتری توی تکست باکس زده شد و در همین هنگامی که داده ها دارن واکشی میشن فقط یک circularProgress بچرخه و زمانی که کار BackGroundWorker تمام شد توی رویداد RunWorkerCompleted اون circularProgress دیگه نمایش داده نشه ولی ظاهرا گیر میده که تداخل میکنه با ترد قبلی !! کد های چک کردن هم گذاشتم ولی نمی دونم مشکل از کجاست؟
    البته این کار رو با تایمر شبیه سازی کردم ولی می خوام دقیق انجام بشه ممنون.

        private void backgroundWorkerSe_DoWork(object sender, DoWorkEventArgs e)
    {
    if (backgroundWorkerSe.CancellationPending)
    {
    e.Cancel = true;
    Return;
    }
    else
    {
    SearchWords("select En_Text,Per_Text,Per_Means,Type from Words where En_Text like @En_Text order by En_Text asc ");

    circularProgress1.Invoke(new Action(() =>
    {
    circularProgress1.IsRunning = true;
    }));

    }
    }


    private void radTextBoxSearch_TextChanged(object sender, EventArgs e)
    {
    if (!backgroundWorkerSe.IsBusy)
    {
    backgroundWorkerSe.RunWorkerAsync();
    }
    else
    {
    backgroundWorkerSe.CancelAsync();
    }

    }

      private void backgroundWorkerSe_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
    {
    circularProgress1.Invoke(new Action(() =>
    {
    circularProgress1.IsRunning = false;
    }));
    }


      public void SearchWords(string strcm)
    {
    try
    {
    OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0 ;Data Source=C:\Users\Daniyal\Documents\Visual Studio 2013\Projects\Dani_ProDic\Dani_ProDic\Dic.mdb");
    OleDbDataAdapter da = new OleDbDataAdapter(strcm, con);
    da.SelectCommand.Parameters.AddWithValue("@En_Text ", radTextBoxSearch.Text + "%");
    DataTable dt = new DataTable();
    da.Fill(dt);
    radGridViewWords.DataSource = dt;
    radGridViewWords.Columns[0].HeaderText = "کلمه";
    radGridViewWords.Columns[1].HeaderText = "معنی";
    radGridViewWords.Columns[2].IsVisible = false;
    radGridViewWords.Columns[3].IsVisible = false;
    textBoxTotalMeans.Text = radGridViewWords.CurrentRow.Cells[2].Value.ToString();

    }
    catch (Exception e)
    {
    MessageBox.Show(e.Message);
    }

    }
    آخرین ویرایش به وسیله daniyaltjm : شنبه 24 مهر 1395 در 18:36 عصر

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

  1. پاسخ: 1
    آخرین پست: یک شنبه 12 شهریور 1391, 17:18 عصر
  2. پاسخ: 0
    آخرین پست: یک شنبه 12 شهریور 1391, 16:41 عصر
  3. سوال: کمک فوری در مورد واکشی اطلاعات از دو جدول
    نوشته شده توسط oranoos در بخش VB.NET
    پاسخ: 2
    آخرین پست: یک شنبه 24 اردیبهشت 1391, 13:10 عصر
  4. مشکل در واکشی اطلاعات از sql
    نوشته شده توسط sara_aryanfar در بخش C#‎‎
    پاسخ: 4
    آخرین پست: دوشنبه 04 مهر 1390, 15:18 عصر
  5. مشکل در واکشی اطلاعات از جدول
    نوشته شده توسط maryam82 در بخش VB.NET
    پاسخ: 1
    آخرین پست: یک شنبه 30 تیر 1387, 20:36 عصر

برچسب های این تاپیک

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

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