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

نام تاپیک: راهنمایی - مقدار datagridview وابسته به checkbox

  1. #1

    Question راهنمایی - مقدار datagridview وابسته به checkbox

    با سلام
    بنده در دیتابیسم برای ورود اطلاعات کارمندان سه حالت دارم
    status:
    0 : در حال کار
    1 : قطع کار
    2 : ماموریت
    (Status فیلد وضعیت در دیتابیس است از نوع int )
    در فرم هم 3تا چک باکس قرار دادم
    حالا میخوام با تیک خوردن یا نخوردن چک باکس ها لیست کارمندای آن قسمت وارد دیتاگرید بشه یا از دیتاگرید حذف بشه!

    اگر امکان داشته باشه راهنمایی بفرمایید
    با تشکر

  2. #2
    کاربر دائمی
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    آمل
    پست
    207

    نقل قول: راهنمایی - مقدار datagridview وابسته به checkbox

    سلام
    میتونید هر کدوم از چک باکس هارو چک کنید و اگه تیک خورده بود در شرط where اونو بیارین.
                string query = "SELECT * FROM Employee WHERE";

    if (checkBox1.Checked == true)
    query = query + " status = 0 AND";
    if (checkBox2.Checked == true)
    query = query + " status = 1 AND";
    if (checkBox3.Checked == true)
    query = query + " status = 2 ";

    if (query.EndsWith("WHERE"))
    query = query.Substring(0, query.LastIndexOf("WHERE"));

    if (query.EndsWith("AND"))
    query = query.Substring(0, query.LastIndexOf("AND"));

  3. #3

    نقل قول: راهنمایی - مقدار datagridview وابسته به checkbox

    ممنون
    شما کمکای خوبی به بنده میکنید.

    من از linq استفاده میکنم
    query هم بر اساس linq نوشتم.
    یک سوال
    آیا باید از AND استفاده کنم (&&) یا OR (||)؟
    در ضمن لطفا در مورد دو دستور IF آخر کمی توضیح بدهید.
    الان هر بارکه تیک چک باکس را برمیدارم دیتاگرید خالی میشه و با تیک زدن دوباره دیتاگرید همچنان خالی میمونه
    اگر امکان داشته باشه علت این مشکل را نیز بفرمایید.
    بنده خیلی مشتاق هستم که سی شارپ را به صورت حرفه ای بیاموزم.

  4. #4
    کاربر دائمی
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    آمل
    پست
    207

    نقل قول: راهنمایی - مقدار datagridview وابسته به checkbox

    سلام
                PersonLinqDataContext pers = new PersonLinqDataContext();
    //شماره استاتوس ها
    List<int?> IdsToFind = new List<int?>() {0, 1, 2};

    //در صورت تیک نخوردن هر یکی از اون چک باکس ها از لیست حذف میشوند
    if (checkBox1.Checked == false)
    IdsToFind.Remove(0);
    if (checkBox2.Checked == false)
    IdsToFind.Remove(1);
    if (checkBox3.Checked == false)
    IdsToFind.Remove(2);

    //نوشتن کوئری و نوشتن شرط ها
    var query = pers.Persons.Where(u => IdsToFind.Contains(u.Status));

    dataGridView1.DataSource = query;

    موفق باشید.

  5. #5
    کاربر تازه وارد
    تاریخ عضویت
    دی 1389
    محل زندگی
    تهران
    سن
    39
    پست
    38

    نقل قول: راهنمایی - مقدار datagridview وابسته به checkbox

    دوست عزیز سلام
    شما باید AutoPoskBack چک باکس رو true کنید تا یک پست بک انجام بگیره تا بتونید دستوراتتون رو اجرا کنید.

  6. #6

    نقل قول: راهنمایی - مقدار datagridview وابسته به checkbox

    نقل قول نوشته شده توسط mahdi.bagheri مشاهده تاپیک
    دوست عزیز سلام
    شما باید AutoPoskBack چک باکس رو true کنید تا یک پست بک انجام بگیره تا بتونید دستوراتتون رو اجرا کنید.
    اگر امکان داشته باشه بیشتر توضیح بدید چون همچین خاصیتی در چک باکس ها بنده مشاهده نکردم

    در صورت امکان در مورد سوال بنده درباره farsilibrary نیز راهنمایی نمایید.

    با تشکر

  7. #7
    کاربر دائمی
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    آمل
    پست
    207

    نقل قول: راهنمایی - مقدار datagridview وابسته به checkbox

    نقل قول نوشته شده توسط ramin005 مشاهده تاپیک
    الان هر بارکه تیک چک باکس را برمیدارم دیتاگرید خالی میشه و با تیک زدن دوباره دیتاگرید همچنان خالی میمونه
    اگر امکان داشته باشه علت این مشکل را نیز بفرمایید.
    سلام
    برای اینکه با تغییر تیک خوردن چک باکس ها خروجی ( محتویات دیتا گرید) هم تغییر کنه میتونی از رویداد CheckedChange استفاده کنی.

    private void Form2_Load(object sender, EventArgs e)
    {
    checkBox1.CheckedChanged += new EventHandler(checkBox_CheckedChanged);
    checkBox2.CheckedChanged += new EventHandler(checkBox_CheckedChanged);
    checkBox3.CheckedChanged += new EventHandler(checkBox_CheckedChanged);
    }

    private void checkBox_CheckedChanged(object sender, EventArgs e)
    {
    PersonLinqDataContext pers = new PersonLinqDataContext();

    //شماره استاتوس ها
    List<int?> IdsToFind = new List<int?>() { 0, 1, 2 };

    //در صورت تیک نخوردن هر یکی از اون چک باکس ها از لیست حذف میشوند
    if (checkBox1.Checked == false)
    IdsToFind.Remove(0);

    if (checkBox2.Checked == false)
    IdsToFind.Remove(1);

    if (checkBox3.Checked == false)
    IdsToFind.Remove(2);

    //نوشتن کوئری و نوشتن شرط ها
    var query = pers.Persons.Where(u => IdsToFind.Contains(u.Status));

    dataGridView1.DataSource = query;
    }

  8. #8
    کاربر تازه وارد
    تاریخ عضویت
    دی 1389
    محل زندگی
    تهران
    سن
    39
    پست
    38

    نقل قول: راهنمایی - مقدار datagridview وابسته به checkbox

    نقل قول نوشته شده توسط ramin005 مشاهده تاپیک
    اگر امکان داشته باشه بیشتر توضیح بدید چون همچین خاصیتی در چک باکس ها بنده مشاهده نکردم

    در صورت امکان در مورد سوال بنده درباره farsilibrary نیز راهنمایی نمایید.

    با تشکر
    سلام
    با عرض پوزش، من بحث وب رو مطرح کرده بودم.
    آقای omid_csh کد درست رو به شما گفتن.

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

  1. سوال: سطر اول dataGridView از نوع checkBox
    نوشته شده توسط damuon در بخش C#‎‎
    پاسخ: 6
    آخرین پست: دوشنبه 03 بهمن 1390, 19:27 عصر
  2. سوال: مجوز وابسته به متن، مستقل از مقدار و وابسته به مقدار
    نوشته شده توسط قله بلند در بخش سایر پایگاه‌های داده
    پاسخ: 0
    آخرین پست: چهارشنبه 10 آذر 1389, 18:34 عصر
  3. راهنمایی برای datagridview
    نوشته شده توسط Easy_Systems در بخش VB.NET
    پاسخ: 1
    آخرین پست: شنبه 07 اردیبهشت 1387, 13:14 عصر
  4. CheckBox و ComboBox در DataGridView
    نوشته شده توسط niloufar در بخش VB.NET
    پاسخ: 2
    آخرین پست: دوشنبه 15 اسفند 1384, 20:15 عصر
  5. راهنمایی در مورد مقدار دهی SQLServer در دلفی
    نوشته شده توسط nasr در بخش برنامه نویسی در Delphi
    پاسخ: 2
    آخرین پست: یک شنبه 29 شهریور 1383, 13:23 عصر

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

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