PDA

View Full Version : تعیین مقدار مشخص



hamix666
یک شنبه 30 اردیبهشت 1397, 11:16 صبح
با سلام
چطور می تونم مشخص کنم که در یک گرید یک فیل فقط اجازه ورود اعداد 0 تا 100 را داشته باشد

pro_gra_mmer_irani
یک شنبه 30 اردیبهشت 1397, 14:44 عصر
سلام دوست عزیز شما میتونید از این کد استفاده بکنید :

dataGridView1.Columns[yourColumn]).MaxInputLength = 6

danialafshari
یک شنبه 30 اردیبهشت 1397, 22:51 عصر
با سلام


سلام دوست عزیز شما میتونید از این کد استفاده بکنید :

dataGridView1.Columns[yourColumn]).MaxInputLength = 6

کدی که شما قرار دادید کامل نیست و کاملش به شکل زیره و چون Length داره فقط طول کاراکترهای وارد شده رو کنترل میکنه و 6 یعنی 6 کاراکتر!
شکل صحیح:
((DataGridViewTextBoxColumn)dataGridView1.Columns["column1"]).MaxInputLength = 6;

چطور می تونم مشخص کنم که در یک گرید یک فیل فقط اجازه ورود اعداد 0 تا 100 را داشته باشد
اما برای مشکل شما، کد زیر رو سریع نوشتم شاید بشه بهینه ترش کرد ولی کارتون رو راه میندازه
private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e) {
int CellValue = Convert.ToInt32(dataGridView1["Column1", dataGridView1.CurrentRow.Index].Value);
if (CellValue < 0 || CellValue > 100)
dataGridView1[0, dataGridView1.CurrentRow.Index].Value = 0;
}
البته چون محدوده int32 تا 2147483647 هست و اگر بیشترش توی cell وارد بشه برنامه با خطا مواجه میشه بهتره هر دو روش رو ادغام و استفاده کنید
از روی تجربه میگم datagridview یکم بد قلقه و به دوستان توصیه میکنم به جای استفاده و باز گذاشتن خاصیت Edit دیتاگرید، این خاصیت رو ببندن و از ورودی های استاندارد مثل TextBox, maskedTextbox و... که انعطاف پذیریه بیشتری داره استفاده کنند این رو گفتم چون به شخصه خیلی اذیتم کرد
موفق باشید