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

نام تاپیک: حذف آیتم انتخابی در یک ComboBox از کامبوباکسهای دیگر

  1. #1

    حذف آیتم انتخابی در یک ComboBox از کامبوباکسهای دیگر

    با سلام
    دوستان 5تا کمبوباکس دارم که مقادیرشونو از یه جدول میگیرن، فرض کنیم a,b,c,d,e مقادیر جدول باشند.
    توی لود فرم دستوری نوشتم که با لود فرم مقادیر کمبو برابر با جدول میشود و کاربر میتونه هر کدومو که بخواد انتخاب کنه.
    حالا مشکلم اینه طوری کنترل کنم کاربر نتونه تو کمبوباکس مقدار تکراری انتخاب کنه.1- ترجیحا بجز اینکه با if بخوام مقدار textشونو چک کنم، چه راهه دیگه ای پیشنهاد میدین؟؟

    با تشکر

  2. #2
    کاربر دائمی آواتار mrprestige
    تاریخ عضویت
    مرداد 1393
    محل زندگی
    کرج
    پست
    646

    نقل قول: مساوی نبودن مقادیر کمبوباکس فراخونی شده از یک table

    نقل قول نوشته شده توسط farnoosh66 مشاهده تاپیک
    با سلام
    دوستان 5تا کمبوباکس دارم که مقادیرشونو از یه جدول میگیرن، فرض کنیم a,b,c,d,e مقادیر جدول باشند.
    توی لود فرم دستوری نوشتم که با لود فرم مقادیر کمبو برابر با جدول میشود و کاربر میتونه هر کدومو که بخواد انتخاب کنه.
    حالا مشکلم اینه طوری کنترل کنم کاربر نتونه تو کمبوباکس مقدار تکراری انتخاب کنه.1- ترجیحا بجز اینکه با if بخوام مقدار textشونو چک کنم، چه راهه دیگه ای پیشنهاد میدین؟؟

    با تشکر
    سلام به شما وقت بخیر ، شما میتونین با استفاده از حلقه foreach هم این کار رو بکنید یعنی به این صورت

    foreach (var dvrow in comboBox1.Items)
    {
    if (dvrow.ToString() == textBox1.Text)
    {
    MessageBox.Show("این مقدار وجود دارد.",
    "خطای مقدار تکراری",
    MessageBoxButtons.OK, MessageBoxIcon.Error);


    break;
    }
    }


    ببین این مثالی که زدم با تکس باکس هست که حلقه میاد تمام مقادیر کمبوباکس رو بررسی میکنه اگه برابر با مقداری بود که ما توی تکس باکس نوشتیم پیغام خطای داده ی تکراری رو بهمون میده حالا بسته تغییراتی که میخوای بدی با این کد هم میتونی از انتخاب مقادیر تکراری در کمبو جلوگیری کنی .
    پیروز و موفق باشید .
    از کدنویسی لذت ببرید.

  3. #3

    نقل قول: مساوی نبودن مقادیر ComboBox فراخونی شده از یک table

    میتونید آیتم انتخابی یک کمبو را از دیتاسورس کمبوهای دیگر حذف کنید.
    به چه صورت کمبو رو پر کردید؟ کد بزارید.

  4. #4

    نقل قول: مساوی نبودن مقادیر ComboBox فراخونی شده از یک table


    DataSet ds4 = new DataSet();
    ds4 = sql.fill("select * from tblGroup where GroupID='" + x2 + "'");
    comboBox3.DataSource = ds4.Tables["hi"];
    comboBox3.DisplayMember = "GroupName";
    comboBox3.ValueMember = "GroupName";

  5. #5

    نقل قول: مساوی نبودن مقادیر ComboBox فراخونی شده از یک table

    میتونید از طریق RowFilter در کلاس DataView ، فیلتر مناسب را روی دیتاسورس اعمال کنید؛ به اینصورت که برای هر کمبوباکس، آیتمهایی مورد قبول باشد که در کمبوهای دیگر سلکت نشده باشند.
    فیلتر Not In در لینک زیر رو نگاه کنید:
    http://www.csharp-examples.net/dataview-rowfilter


            private void SetFilterToComboBoxes()
    {
    if (_allComboBoxesList == null) return;
    foreach (ComboBox comboBox in _allComboBoxesList)
    {
    string strFilter = "id NOT IN (";
    var listToGetSelectedValue = _allComboBoxesList.Where(c => !c.Equals(comboBox)).ToList();

    foreach (ComboBox anotherComboBox in listToGetSelectedValue)
    {
    int selectedId = Convert.ToInt32(anotherComboBox.SelectedValue);
    strFilter += selectedId + ",";
    }
    strFilter += "-9999999)";

    comboBox.BeginUpdate();
    int intTemp = Convert.ToInt32(comboBox.SelectedValue);
    DataView dv = comboBox.DataSource as DataView;
    if (dv != null) dv.RowFilter = strFilter;
    comboBox.SelectedValue = intTemp;
    comboBox.EndUpdate();
    }
    }

    در رویداد SelectedIndexChanged کمبوباکسها ، متد بالا رو فراخوانی کنید.
    آخرین ویرایش به وسیله Mahmoud.Afrad : شنبه 30 مرداد 1395 در 08:17 صبح

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

  1. حذف آيتم انتخاب شده در يك Listbox از ديتابيس
    نوشته شده توسط saeid14144 در بخش VB.NET
    پاسخ: 6
    آخرین پست: یک شنبه 09 مرداد 1390, 16:41 عصر
  2. ComboBox در یک خانه از دیتاگرید
    نوشته شده توسط navidiran در بخش C#‎‎
    پاسخ: 1
    آخرین پست: یک شنبه 09 آبان 1389, 15:49 عصر
  3. سوال: صدا زدن كليك يك btn در يك فرم از فرم ديگر ؟
    نوشته شده توسط Modifier در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: یک شنبه 13 تیر 1389, 19:59 عصر
  4. سوال: INSERT در یک جدول از جدول دیگر
    نوشته شده توسط mo_re_s در بخش SQL Server
    پاسخ: 2
    آخرین پست: دوشنبه 16 آذر 1388, 17:13 عصر
  5. نمايش سه فيلد هم جنس از سه جدول مختلف در يك combobox
    نوشته شده توسط بیتافرهی در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 4
    آخرین پست: چهارشنبه 15 آبان 1387, 10:13 صبح

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

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