PDA

View Full Version : فيلد عددي در DataGridView



hasty0087
سه شنبه 30 شهریور 1389, 02:51 صبح
سلام دوستان.
من يه گريد دارم برا ويرايش اطلاعات. مي خوام كاري كنم كه تو فيلد چهارمش تنها عدد از كاربر گرفته شه و در صورت وارد كردن كليدهاي غير عددي خطا صادر شه. ميشه منو راهنمايي كنيد؟؟؟ ممنون

flash118
سه شنبه 30 شهریور 1389, 07:55 صبح
من دوتا راه پیشنهاد میکنم راه اول این که در هر بروز رسانی cell هاتون مقادیر cell جاری رو اعتبار سنجی کنید اما راه دوم شما که مقادیر رو وارد می کنید بلاخره دخیره میکنید دیگه تو بانکتون می تونید در زمان ذخیره سازی براش اعتبار سنجی کنید جالا هر کدوم رو که دوست دارین انتخاب کنید موفق باشین

hasty0087
سه شنبه 30 شهریور 1389, 19:39 عصر
ميشه روش كار راه اول رو بگيد؟؟؟؟ كدش چيه؟؟؟؟

C Sharp
چهارشنبه 31 شهریور 1389, 11:15 صبح
دقیقا مثل روشی که برای ستون تاریخ تو گریدتون استفاده کردید ، عمل کنین
عبارات با قاعده رو واستون فرستادم ولی واسه استفاده دوستان دوباره اینجا میذارم

کلیه اعداد


^\\d+(\\.\\d+)?\\Z

فقط اعداد صحیح


^\\d+\\Z

فقط اعداد اعشاری


^\\d+\\.\\d+\\Z


نحوه استفاده :




void dataGridViewMonth_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
if (e.RowIndex < 0 || e.ColumnIndex < 0)
{
return;
}
if (dataGridViewMonth.Columns[e.ColumnIndex].Name != "")
{
return;
}
string input =
dataGridViewMonth.Rows[e.RowIndex].Cells[e.ColumnIndex].FormattedValue.ToString();
string pattern = "^\\d+(\\.\\d+)?\\Z";
System.Text.RegularExpressions.Regex regex =
new System.Text.RegularExpressions.Regex(pattern);

if (regex.IsMatch(input) == false)
{
MessageBox.Show("مقدار وارد شده معتبر نمی باشد");
e.Cancel = true;
}
}