svhasvha
پنج شنبه 02 اسفند 1397, 12:30 عصر
سلام دوستان
من یه جا تو برنامه میخوام بگم موقع وارد کردن عدد تو سلول دیتا گرید اگر کار بر فلان کلید رو زد (مثلا+) مقدار رو ضرب در 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();
}
}
}
اینم تصویر خطاش
149814
این در صورتی که سلول مقدار داره
کلا دیتا گرید وقتی تو سلول داری اطلاعات وارد میکنی(نه موقعه ای که سلکته) خیلی از متد ها درست جواب نمیده چرا؟؟؟
من یه جا تو برنامه میخوام بگم موقع وارد کردن عدد تو سلول دیتا گرید اگر کار بر فلان کلید رو زد (مثلا+) مقدار رو ضرب در 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();
}
}
}
اینم تصویر خطاش
149814
این در صورتی که سلول مقدار داره
کلا دیتا گرید وقتی تو سلول داری اطلاعات وارد میکنی(نه موقعه ای که سلکته) خیلی از متد ها درست جواب نمیده چرا؟؟؟