اشکال در برگرداندن مقدار سلولها در DataGridView
با سلام خدمت دوستان عزیز
من میخواستم Propertyهای کلاسم رو با استفاده از DataGridView پُر کنم ولی متاسفانه چون برخی از سلولهای ردیفهای DataGridView دارای مقدار نیستند، هنگام اجرای کد زیر ایراد میگیره! میخواستم از خدمت سوال کنم چه جوری میتونم برای این برگرداندن شرطی بذارم که اگه مقدار سلول، Null بود، صفر رو به جای اون برگردونه؟ ممنون میشم راهنمایی کنید. ایراد از خط دوم هست که وسطای GridView هنگام تبدیل سلول موردنظر به Double چون سلول خالی هست، نمیتونه این کار رو انجام بده؟
foreach (DataGridViewRow row in dtg.Rows)
{
item.Benefit = Convert.ToDouble(row.Cells[1].Value);
item.BarcodeID = Convert.ToInt64(row.Cells[6].Value);
item.NumberOfGoods = Convert.ToInt32(row.Cells[7].Value);
item.Cost = Convert.ToDouble(row.Cells[2].Value);
item.Price = Convert.ToDecimal(row.Cells[3].Value);
}
نقل قول: اشکال در برگرداندن مقدار سلولها در DataGridView
foreach (DataGridViewRow row in dtg.Rows)
{
item.Benefit = Convert.ToDouble(row.Cells[1].Value);
if (row.Cells[5].Value != null)
item.BarcodeID = Convert.ToInt64(row.Cells[6].Value);
item.NumberOfGoods = Convert.ToInt32(row.Cells[7].Value);
item.Cost = Convert.ToDouble(row.Cells[2].Value);
item.Price = Convert.ToDecimal(row.Cells[3].Value);
}
نقل قول: اشکال در برگرداندن مقدار سلولها در DataGridView
به ازای هر تبدیل باید چک کنی null نباشه.
همین چیزی که گفتی رو پیاده کن. اینقدر سخته!!
if (row.Cells[1].Value == null)
{
item.Benefit = 0;
}
else
{
item.Benefit = Convert.ToDouble(row.Cells[1].Value);
}
نقل قول: اشکال در برگرداندن مقدار سلولها در DataGridView
double dbl;
double.TryParse(row.Cells[1].Value == null ? "0" : row.Cells[1].Value, out dbl);
item.Benefit = dbl;
بقیه هم همینطوری میشه نوشت با tryparse