سلام . میخواهم موقع تایپ اعداد در دیتاگریدویو اعداد بصورت سه به سه (پول) باشد. ممنون میشم راهنمایی کنید.(موقع ثبت اطلاعات نه موقع نمایش)
Printable View
سلام . میخواهم موقع تایپ اعداد در دیتاگریدویو اعداد بصورت سه به سه (پول) باشد. ممنون میشم راهنمایی کنید.(موقع ثبت اطلاعات نه موقع نمایش)
ممنون از جوابتون ولی در هر رویدادی که فکر میکردم امتحان کردم جواب نداد.
سلام، یعنی کلا کار نمیکرد، یا خروجی رو به اون صورت نشان نداد؟
ببینید شما باید در رویدادی بنویسی که توی هر سلول میخاد مقدار وارد بکن]، رویدادش رو یادم نیست چی بود..
و خب شما مقدار اون سلولی رو که تغعیر داده رو میگیری توسط "e" قطعا کار میکنه..
اگر کار نکرد بگو که کد کاملش رو بفرستم..
سلام مجدد .
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 رقم و جای گذاری اون عدد در اون سلول ..
امیدوارم بتونم کمکت کنه.
پ.ن: میخاستم عکس خروجی رو بزارم ولی نشد هرچی سعی کردم.
خیلی خیلی ممنون از راهنمایی بسیار دقیق و عالی