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

نام تاپیک: اعتبار سنجی مقدار واردشده توسط کاربر در DataGridView

  1. #1
    کاربر تازه وارد آواتار Sociant
    تاریخ عضویت
    آبان 1387
    محل زندگی
    اراک
    پست
    88

    اعتبار سنجی مقدار واردشده توسط کاربر در DataGridView

    با سلام
    من تو برنامه ام یک DataGridView دارم که در ابتدای برنامه اون رو با استفاده از DataSource پر میکنم
    این امکان رو واسه کاربر گذاشتم که بتونه سطر جدید وارد کنه و در DataGridView مقدار وارد کنه

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

    با استفاده از این کدها این کار رو انجام دادم

    private void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
    {
    if (e.ColumnIndex == 0)
    {
    int parsed;
    if (!int.TryParse((string)e.FormattedValue, out parsed))
    {
    dataGridView1.Rows[e.RowIndex].ErrorText = "Enter namerical value";
    e.Cancel = true;
    }
    }
    }

    private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
    {
    dataGridView1.Rows[e.RowIndex].ErrorText = "";
    }

    مسکلم رو حل کرد ولی اگه کاربر مقدار عددی تو این سلول وارد نکنه دیگه هیچ قسمتی از برنامه قادر به گرفتن فوکوس نیست و حتی دکمه Close برنامه هم از کار می افته!

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

    نقل قول: اعتبار سنجی مقدار واردشده توسط کاربر در DataGridView

    شما برای اطلاع دادن دقیق به کاربر از خطای خود از کامپوننت Error Provider استفاده کنید !!!

  3. #3
    کاربر تازه وارد آواتار Sociant
    تاریخ عضویت
    آبان 1387
    محل زندگی
    اراک
    پست
    88

    نقل قول: اعتبار سنجی مقدار واردشده توسط کاربر در DataGridView

    آخه بحث سر اینه که نمیخوام کاربر تا مقدار صحیح تو این سلول وارد نکرده بتونه به سلول دیگه ای بره!
    در عین حال میخوام این محدودیت فقط تو خود DataGridView باشه نه کل فرم. یعنی اگه جای دیگه ای از فرم خواست کاری انجام بده ، یا حتی فرم رو ببنده بتونه. الان حتی Esc رو هم که میزنه از مد ویرایش خارج نمیشه.

    این کاری که کردم راهنمایی خود MSDN بود

  4. #4
    کاربر تازه وارد آواتار Sociant
    تاریخ عضویت
    آبان 1387
    محل زندگی
    اراک
    پست
    88

    نقل قول: اعتبار سنجی مقدار واردشده توسط کاربر در DataGridView

    دوستان عزیز واقعا شرمنده کردین که اینهمه راهنماییم کردین!
    اگه راهنمایی های شما نبود خودم نمی تونستم جواب سوالمو پیدا کنم

    راه حل:
    تغییر خاصیت AutoValidate فرم به EnableAllowFocusChange

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

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