PDA

View Full Version : سوال: جلوگیری از ورود کاراکترهای غیر مجاز در datagridview



reza69
یک شنبه 15 اردیبهشت 1392, 14:49 عصر
سلام
من میخوام یه شرطی در ایف بزارم که اگه هر کاراکتری به غیر از اعداد وارد کنه ارور بده.
if (Convert.ToInt32(dataGridView3.Rows[i].Cells[2].Value) < 0 || Convert.ToInt64(dataGridView3.Rows[i].Cells[2].Value)>9999999999)
{
MessageBox.Show("لطفا در کادر قیمت فقط عدد وارد کنید");
return;
}

fool66
یک شنبه 15 اردیبهشت 1392, 17:07 عصر
فیلتر کن نزار تایپ کنه که بخوای ویرایشش کنی :لبخند:

reza69
یک شنبه 15 اردیبهشت 1392, 17:14 عصر
فیلتر کن نزار تایپ کنه که بخوای ویرایشش کنی :لبخند:
متوجه نمیشم چجوری فیلتر کنم؟

fool66
یک شنبه 15 اردیبهشت 1392, 17:16 عصر
برای جلوگیری از ورود کارکترهای غیر عدد
اول رویداد EditingControlShowing دیتاگرید ویو رو باز کن

یه شی از جنس که رویداد KeyPress داشته باشه بساز مثلا یه textbox
بعدش توی رویداد KeyPress شی تعریف کن که فقط مقدادیر عددی بگیر و بعد انتصاب بده به سلولی که می خوای مثل کد زیر (البته می تونی شی رو با کد و یا با ابزار (Toolbox) ایجاد کنی که من با کد ایجاد می کنم )


private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
TextBox text = e.Control as TextBox;

if (dataGridView1.CurrentCell.ColumnIndex == dataGridView1.Columns["Column1"].Index)
{

if (text != null)
text.KeyPress += new KeyPressEventHandler(text_KeyPress);

}
}
private void text_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == '\b')
{
e.Handled = false;
return;
}
if (e.KeyChar < '0' || e.KeyChar > '9')
e.Handled = true;
}

reza69
یک شنبه 15 اردیبهشت 1392, 17:46 عصر
این ارور رو میده
103743

fool66
یک شنبه 15 اردیبهشت 1392, 17:55 عصر
["gh"]
رو توی گریدویو داری؟؟؟

reza69
یک شنبه 15 اردیبهشت 1392, 17:59 عصر
["gh"]
رو توی گریدویو داری؟؟؟
آره اسم ستونمه

fool66
یک شنبه 15 اردیبهشت 1392, 19:09 عصر
آره اسم ستونمه

private void dataGridView1_EditingControlShowing_1(object sender, DataGridViewEditingControlShowingEventArgs e)
{
TextBox text = e.Control as TextBox;
if (dataGridView1.CurrentCell.ColumnIndex == dataGridView1.Columns["aa"].Index)
{

if (text != null)
text.KeyPress += new KeyPressEventHandler(text_KeyPress);

}
else
if (text != null)
text.KeyPress -= new KeyPressEventHandler(text_KeyPress);
}
private void text_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == '\b')
{
e.Handled = false;
}
if (e.KeyChar < '0' || e.KeyChar > '9')
{
e.Handled = true;
}
}
به احتمال زیاد نیست که این ارور رو میده با دقت چک کن

اگه می خوای پروژه رو بده چک کنم برات

reza69
یک شنبه 15 اردیبهشت 1392, 23:17 عصر
ممنون درست شد
اسمش این بودghDataGridViewTextBoxColumn

fool66
دوشنبه 16 اردیبهشت 1392, 01:01 صبح
ممنون درست شد
اسمش این بودghDataGridViewTextBoxColumn

اسم چی ؟؟؟ ستون؟؟

reza69
دوشنبه 16 اردیبهشت 1392, 22:49 عصر
اسم چی ؟؟؟ ستون؟؟
آره..................

fool66
دوشنبه 16 اردیبهشت 1392, 23:22 عصر
اوکی خدا رو شکر حل شد موفق باشی یاحق

niusha_amir
شنبه 29 مهر 1396, 20:17 عصر
سلام من اینو نوشتم ولی نمیدونم چرا دیگه در ستون های بعدی هم حروف قبول نمیکنه با اینکه شرط گذاشتم برای یه ستون این کار رو بکنه

Mahmoud.Afrad
سه شنبه 02 آبان 1396, 20:07 عصر
سلام من اینو نوشتم ولی نمیدونم چرا دیگه در ستون های بعدی هم حروف قبول نمیکنه با اینکه شرط گذاشتم برای یه ستون این کار رو بکنه

کدتون را قرار بدید.