PDA

View Full Version : سوال: محدودیت datagrid



f_naderi
جمعه 01 مرداد 1395, 11:58 صبح
سلام دوستان
من می خوام روی ستون یک از datagrid2 محدودیت بذارم که فقط عدد بگیره ولی با نوشتن کدهای زیر بر روی ستون دوم datagrid هم محدودیت رو قرار میده
private void dataGridView2_KeyPress(object sender, KeyPressEventArgs e) {
if (!char.IsDigit(e.KeyChar))
{


if (e.KeyChar != '\b')


e.Handled = true;


}
}

private void dataGridView2_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) {
text = e.Control as TextBox;
if (dataGridView2.CurrentCell.ColumnIndex == dataGridView2.Columns[1].Index)
{


text.KeyPress += new KeyPressEventHandler(dataGridView2_KeyPress);
}
}

mrprestige
جمعه 01 مرداد 1395, 14:50 عصر
if (dataGridView2.CurrentCell.ColumnIndex == dataGridView2.Columns[1].Index)



سلام دوست من وقتت بخیر ، قبل اینکه بخوام کدی که برات آماده رو کردم رو بگم ، لازمه بهت بگم شروع مقدار دهی اندکس های جدول دیتاگرید از صفر است توی این شرطتون فرمودید اگر ایندکس ستون جاری برابر با ایندکس [Column[1 ( یعنی ستون دوم) بود بیاد شرط رو اجرا کنه . خوب اگه شما ستون اول رو میخواستید باید مینوشتید [Column[0 . دستور شرط ت رو به این روش تغییر بده

if (dataGridView1.CurrentCell.ColumnIndex == 0)

پیروز موفق باشی

f_naderi
جمعه 01 مرداد 1395, 15:39 عصر
ممنون بله میدونم اشتباه تایپی بود منظورم همون ستون دوم بود چون اولین ستونم چک باکسه. اینکارو انجام دادم ولی مشکل همچنان پابرجاست.....
وقتی اول داخل ستون سوم کلیک میکنم کاراکتر قبول میکنه ولی وقتی وارد ستون دوم بشه و مقدار عدد بگیره بعد دوباره بخوام سطر بعدی رو مقدار بدم دیگه برای ستون سوم کاراکتر رو قبول نمیکنه.نمیدونم منظورم رو تونستم برسونم یا خیر

mrprestige
جمعه 01 مرداد 1395, 16:31 عصر
ببین این دستوری که الان برات پایی نوشتم رو بیار توی خوده شرط

TextBox text = e.Control as TextBox;

و قبل از شرط این دستور رو اجرا کن

e.Control.KeyPress -= new KeyPressEventHandler(dataGridView2_KeyPress);

یادت نره همه اینایی که الان گفتم همه توی رویداد EditingControlShowing دیتاگرید هست .

باز اگه مشکل پیش اومد بگو

reza_ali202000
جمعه 01 مرداد 1395, 17:35 عصر
سلام دوست عزیز. احتمالا یه جایی datasource هر دوتاشو برابر با هم قرار دادی.

f_naderi
جمعه 01 مرداد 1395, 21:15 عصر
mrprestige (http://barnamenevis.org/member.php?338119-mrprestige) ممنونم اینارو نوشتم درست شد.میشه لطف بفرمایید توضیح بدید با این کدی که فرمودید چی میشه؟