نقل قول نوشته شده توسط svhasvha مشاهده تاپیک
سلام دوستان
من یه جا تو برنامه میخوام بگم موقع وارد کردن عدد تو سلول دیتا گرید اگر کار بر فلان کلید رو زد (مثلا+) مقدار رو ضرب در 1000 کن (در واقع عملکردش شبیه به کلید ستا صفر ماشین حساب
حالا مشکل کجاست
سلول خالیه و کار بر شروع میکنه عدد رو وارد میکنه مثلا123 حالا کلید تعریف شده رو میزنه متد فراخوانی و میخواد مقدار رو ضرب در 1000 کنه ولی خطا میده مقدار سلول نال هست(به خاطر اینکه هنوز ثبت نشده) باید چیکار کرد کدشم میزارم این زیر ببینید


private void DGSanad_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == 43)
{
if (DGSanad.CurrentCell.ColumnIndex == DGSanad.Columns["BED"].Index || DGSanad.CurrentCell.ColumnIndex == DGSanad.Columns["BES"].Index)
{
DGSanad.CurrentCell.Value = (Convert.ToInt64(DGSanad.CurrentCell.Value.ToStrin g()) * 1000).ToString();

}
}
}


اینم تصویر خطاش
Ucxntitled.png
این در صورتی که سلول مقدار داره
کلا دیتا گرید وقتی تو سلول داری اطلاعات وارد میکنی(نه موقعه ای که سلکته) خیلی از متد ها درست جواب نمیده چرا؟؟؟

مشکل شما مربوط به نوع داده اون سلول هست.
https://docs.microsoft.com/en-us/dot...ramework-4.7.2