PDA

View Full Version : سوال: دیتاگریدویو



ak_sha
دوشنبه 20 اردیبهشت 1400, 11:22 صبح
سلام . میخواهم موقع تایپ اعداد در دیتاگریدویو اعداد بصورت سه به سه (پول) باشد. ممنون میشم راهنمایی کنید.(موقع ثبت اطلاعات نه موقع نمایش)

memojtabazamani
سه شنبه 21 اردیبهشت 1400, 00:09 صبح
سلام . میخواهم موقع تایپ اعداد در دیتاگریدویو اعداد بصورت سه به سه (پول) باشد. ممنون میشم راهنمایی کنید.(موقع ثبت اطلاعات نه موقع نمایش)
سلام،
این کد کمکت میکنه:

var a = "25000000";
var a2 = Convert.ToInt32( a.Replace(",","") );
Console.WriteLine( a2.ToString("n0") );


نکته: باید این کد رو در رویداد textChange سلول های گرید ویو بنویسی!

موفق باشی :قلب:

ak_sha
سه شنبه 21 اردیبهشت 1400, 11:13 صبح
ممنون از جوابتون ولی در هر رویدادی که فکر میکردم امتحان کردم جواب نداد.

memojtabazamani
چهارشنبه 29 اردیبهشت 1400, 19:37 عصر
ممنون از جوابتون ولی در هر رویدادی که فکر میکردم امتحان کردم جواب نداد.
سلام، یعنی کلا کار نمیکرد، یا خروجی رو به اون صورت نشان نداد؟
ببینید شما باید در رویدادی بنویسی که توی هر سلول میخاد مقدار وارد بکن]، رویدادش رو یادم نیست چی بود..
و خب شما مقدار اون سلولی رو که تغعیر داده رو میگیری توسط "e" قطعا کار میکنه..
اگر کار نکرد بگو که کد کاملش رو بفرستم..

ak_sha
پنج شنبه 30 اردیبهشت 1400, 23:45 عصر
سلام، یعنی کلا کار نمیکرد، یا خروجی رو به اون صورت نشان نداد؟
ببینید شما باید در رویدادی بنویسی که توی هر سلول میخاد مقدار وارد بکن]، رویدادش رو یادم نیست چی بود..
و خب شما مقدار اون سلولی رو که تغعیر داده رو میگیری توسط "e" قطعا کار میکنه..
اگر کار نکرد بگو که کد کاملش رو بفرستم..

ممنون میشم اگه بیشتر راهنمایی کنید

memojtabazamani
جمعه 31 اردیبهشت 1400, 17:29 عصر
ممنون میشم اگه بیشتر راهنمایی کنید
سلام مجدد .



private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex >= 0 && e.ColumnIndex == 0)
{
var a = dataGridView1.SelectedCells[e.ColumnIndex].Value.ToString();
var a2 = Convert.ToInt32(a.Replace(",", ""));
dataGridView1.SelectedCells[e.ColumnIndex].Value = a2.ToString("n0");
}
}


کد رو داخل CellValueChanged بنویسید که وقتی داخل سلول گریدویوتون تایپ کردید یا مقدارش تغعیر کرد، یعنی دکمه Enter زده شده یا به سطر بعدی رفت.
خب e.rowIndex باید چک کنیم که این سلولی که داریم مقدارشو عوض میکنیم آی سطر دومه؟ چون سطر اول میشه اون سر ستون ها و اگر این شرط نباشه کد خراب میشه
e.columnIndex هم چک میکنه کدوم ستون رو باید تغعیر بده؟ مثلا شما 5 تا ستون داری که یکیش عددیه، خب باید اینجا شماره اون ستون عددی رو بنویسی.
و نهایت تبدیل عدد به 3 رقم 3 رقم و جای گذاری اون عدد در اون سلول ..
امیدوارم بتونم کمکت کنه.
پ.ن: میخاستم عکس خروجی رو بزارم ولی نشد هرچی سعی کردم.

ak_sha
سه شنبه 04 خرداد 1400, 22:07 عصر
خیلی خیلی ممنون از راهنمایی بسیار دقیق و عالی