PDA

View Full Version : سوال: سوال در مورد DataGridView



Milo_22
جمعه 20 اردیبهشت 1387, 11:57 صبح
می بخشید من یک سوال دارم در مورد DataGridView :

1 دیتا گرید دارم می خوام وقتی دارم داخل اون چیزی تایپ می کنم اجازه ورود چیزی غیر از عدد نده ! میشه بعد از اینکه از سلول خارج شد به کاربر خطا داد که عدد وارد کنه ! ولی می خوام هم زمان با تایپ اجازه این کار رو به کاربر نده که غیر از عدد چیزه دیگه ای تایپ کنه .
چه کار باید انجام بدم ؟
:لبخندساده:

smt_414
جمعه 20 اردیبهشت 1387, 13:04 عصر
سلام

با عرض خوش آمدگویی به شما دوست عزیز

چه کار باید انجام بدم ؟
جستجو کنید

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

جواب فوق کمی کلی
پس از جستجو اگه باز در جایی سوالی داشتید
بفرمایید


موفق باشید

hdv212
جمعه 20 اردیبهشت 1387, 13:54 عصر
نیازی به استفاده از کد نویسی نیست، میتونی از MaskTextBox استفاده کنی، این کنترل، یک Property داره به نام Mask که یه سری Mask از پیش تعیین شده داره، از جمله Numeric که مد نظر شماست، اونو انتخاب کن.

smt_414
جمعه 20 اردیبهشت 1387, 14:15 عصر
سلام

اما متاسفانه مطلبی که وجود داره در MaskTextBox پس از تعیین Mask مورد نظر
کاربر سهوا یا عمدا می تونه با وارد کردن space در بین اعداد مورد نظر
بسته به نوع کاربرد هایی که بعدا از اون اعداد میشه باعث بروز مشکل شه
استفاده از MaskTextBox به همرا چک کردن عدم وجود space گزینه بهتری هست

موفق باشید

Milo_22
جمعه 20 اردیبهشت 1387, 14:24 عصر
آخه قرار نیست داده ها داخل masktextbox و بعد وارد جدول بشه ! از همون ابتدا قراره داده ها مستقیم داخا datagridview وارد بشه و ادیت بشه و ...

hdv212
جمعه 20 اردیبهشت 1387, 15:16 عصر
آخه قرار نیست داده ها داخل masktextbox و بعد وارد جدول بشه ! از همون ابتدا قراره داده ها مستقیم داخا datagridview وارد بشه و ادیت بشه و ...
اوووه ببخشید، من فکر کردم میخوای در TextBox بنویسی، برای اینکه مقادیر ورودی کاربر رو در DataGridView بررسی کنی، میتونه در رویدادی، مانند CellValidatin، ورودی کاربر رو بررسی کنی، به نمونه کد زیر نگاه کن :

private void dataGridView3_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
if (e.ColumnIndex == 0)
{
try
{
this.dataGridView3.EndEdit();
string cellValue = this.dataGridView3.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();
int result;
if (!int.TryParse(cellValue, out result))
{
MessageBox.Show("you should type a valid Integer number");
e.Cancel = true;
}
}
catch (NullReferenceException ex)
{
// don nothing
}
}
}