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

نام تاپیک: نوشتن عدد در گرید ویو

  1. #1

    نوشتن عدد در گرید ویو

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

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

    نقل قول: نوشتن عدد در گرید ویو

    نقل قول نوشته شده توسط docendo مشاهده تاپیک
    در یکی از ستونها فقط بشود عدد نوشت اگر یک حرف به اشتباه تیک شود پیغام دهد که مثلا اشتباه است این ستون متن قبول نمیکند
    ستونی که فقط عدد می پذیرد
    private void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
    {
    DataGridViewTextBoxCell cell = dataGridView1[e.ColumnIndex, e.RowIndex] as DataGridViewTextBoxCell;

    if (cell != null)
    {
    char[] chars = e.FormattedValue.ToString().ToCharArray();
    foreach (char c in chars)
    {
    if (char.IsDigit(c) == false)
    {
    MessageBox.Show("You have to enter digits only");

    e.Cancel = true;
    break;
    }
    }
    }
    }

  3. #3

    نقل قول: نوشتن عدد در گرید ویو

    نقل قول نوشته شده توسط khokhan مشاهده تاپیک
    ستونی که فقط عدد می پذیرد
    private void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
    {
    DataGridViewTextBoxCell cell = dataGridView1[e.ColumnIndex, e.RowIndex] as DataGridViewTextBoxCell;

    if (cell != null)
    {
    char[] chars = e.FormattedValue.ToString().ToCharArray();
    foreach (char c in chars)
    {
    if (char.IsDigit(c) == false)
    {
    MessageBox.Show("You have to enter digits only");

    e.Cancel = true;
    break;
    }
    }
    }
    }

    دستتان درد نکند
    کد خوبی بود کار کرد فقط یک ایراد دارد

    اگر به سوال من توجه کرده اید نوشته بودم در یکی از ستونها نه همه ستونها
    این باعث میشه در همه ستونها فقط عدد بپذیرد
    برای نمونه 6 تا ستون داریم که ستون 3و4 عدد قبول کند بقیه بشود تکست هم نوشت

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

    نقل قول: نوشتن عدد در گرید ویو

    اینو امتحان کن

    اندیس ستونی رو که می خوای در مقابل == وارد کن


    void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
    {
    if (e.Control is TextBox)
    {
    TextBox tb = e.Control as TextBox;
    tb.KeyPress -= new KeyPressEventHandler(tb_KeyPress);
    if (this.dataGridView1.CurrentCell.ColumnIndex == 0)
    {
    tb.KeyPress += new KeyPressEventHandler(tb_KeyPress);
    }
    }
    }

  5. #5

    نقل قول: نوشتن عدد در گرید ویو

    مرسی
    اما این کد برای کار من نیست کلا اشتباهه
    در مثلی که نوشته اید وقتی توی سلول 0 کلیک بکنید که عدد نوشته شود کلا از برنامه خارج میشود

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

    نقل قول: نوشتن عدد در گرید ویو

    ببخشین متوجه نبودم

    اینو امتحان کن

    private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
    {
    e.Control.KeyPress -= new KeyPressEventHandler(Column1_KeyPress);
    if (dataGridView1.CurrentCell.ColumnIndex == 0) //Desired Column
    {
    TextBox tb = e.Control as TextBox;
    if (tb != null)
    {
    tb.KeyPress += new KeyPressEventHandler(Column1_KeyPress);
    }
    }
    }

    private void Column1_KeyPress(object sender, KeyPressEventArgs e)
    {
    if (!char.IsControl(e.KeyChar)
    && !char.IsDigit(e.KeyChar))
    {
    e.Handled = true;
    }
    }

  7. #7

    نقل قول: نوشتن عدد در گرید ویو

    تشکر از لطفتان

    این کد را پیدا کردم که کار میکند


    private void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
    {
    DataGridViewTextBoxCell cell = dataGridView1[2, e.RowIndex] as DataGridViewTextBoxCell;

    if (cell != null)
    {
    if (e.ColumnIndex == 2)
    {
    char[] chars = e.FormattedValue.ToString().ToCharArray();
    foreach (char c in chars)
    {
    if (char.IsDigit(c) == false)
    {
    MessageBox.Show("You have to enter digits only");

    e.Cancel = true;
    break;
    }
    }
    }
    }
    }

  8. #8

    نقل قول: نوشتن عدد در گرید ویو

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

      if (e.ColumnIndex == 2)



    بهرحال بی نهایت شما تشکر میکنم


    این هم لینک کد

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

  1. نمایش متن به جای عدد در گرید ویو
    نوشته شده توسط mortezasar در بخش C#‎‎
    پاسخ: 4
    آخرین پست: سه شنبه 09 آبان 1391, 00:25 صبح
  2. چگونگی نوشتن در دیتا گرید ویو در حالت Run Time
    نوشته شده توسط abolfazlkh در بخش C#‎‎
    پاسخ: 0
    آخرین پست: سه شنبه 19 مهر 1390, 22:23 عصر
  3. سوال: مشکل نوشتن در ردیف گرید ویو
    نوشته شده توسط طبیب دل در بخش C#‎‎
    پاسخ: 2
    آخرین پست: پنج شنبه 24 شهریور 1390, 15:22 عصر
  4. سوال: نوشتن متن در دیتا گرید ویو در قسمت row
    نوشته شده توسط alireza.m در بخش C#‎‎
    پاسخ: 3
    آخرین پست: پنج شنبه 02 مهر 1388, 13:00 عصر
  5. سوال: مشکل با نوشتن در گرید ویو
    نوشته شده توسط fdaliry در بخش C#‎‎
    پاسخ: 2
    آخرین پست: دوشنبه 18 خرداد 1388, 14:31 عصر

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

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