PDA

View Full Version : مشکل در کد جمع کردن ستون گرید



saeedhushmand
جمعه 20 آبان 1390, 22:02 عصر
من این کد توی button قرار دادم تا یکی از ستون های گرید ویو رو برام جمع کنه و این کارم درست انجام می ده اما اگر اون ستون گرید ویو ام که جمع می شه خالی باشه اگه button بزنم برنامه رو می بنده

int m = 0;
for (int i = 0; i < dataGridView2.Rows.Count; i++)
{
m = m + Convert.ToInt32(dataGridView2.Rows[i].Cells["mablagh"].Value);
 
}
textBox6.Text = m.ToString();

sobaisobai
جمعه 20 آبان 1390, 22:08 عصر
int m = 0;
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
if (dataGridView1.Rows[i].Cells["mablagh"].Value == "")
{
MessageBox.Show("خالی");
break;
}
else
{
m = m + Convert.ToInt32(dataGridView1.Rows[i].Cells["mablagh"].Value);

}
}
textBox2.Text = m.ToString();

saeedhushmand
جمعه 20 آبان 1390, 22:20 عصر
دوست عزیز توی کدی که اضافه کردی i ارور می ده

electro_esma
جمعه 20 آبان 1390, 22:25 عصر
دوست من شما می تونی از کد
try

catch
استفاد کنی

این کد یعنی اینکه هرجا ایرادی بود و شما نمی خواستی اون ایراد باشه و برنامت رو اذیت کنه جلوی بستن برنامه رو می گیره

electro_esma
جمعه 20 آبان 1390, 22:26 عصر
اول بنویس
try
{

int m = 0;
for (int i = 0; i < dataGridView2.Rows.Count; i++)
{
m = m + Convert.ToInt32(dataGridView2.Rows[i].Cells["mablagh"].Value);
 
}
textBox6.Text = m.ToString();

}

catch
}{

sobaisobai
جمعه 20 آبان 1390, 22:27 عصر
کد اصلاح شد

electro_esma
جمعه 20 آبان 1390, 22:28 عصر
تازه می تونی داخل کد کچ هم یه مسیج نمایش بدی که یعنی دیتا گرید ویو خالی است.

NasrEsk
جمعه 20 آبان 1390, 22:36 عصر
تازه می تونی داخل کد کچ هم یه مسیج نمایش بدی که یعنی دیتا گرید ویو خالی است.


برادر اين تو اين كد اگه به يي سلول خالي برسه حلقه متوقف ميشه و بقيهسلول ها جمع نميشن.
بهتره تو حلقه قبل از جمع كردن وضعيت سلول را چك كني
if

(dataGridView1[i,j].Value!=null && string.IsNullOrEmpty(dataGridView1[i,j].Value.ToString()))

saeedhushmand
جمعه 20 آبان 1390, 22:48 عصر
دوست عزیز sobaisobaiکدی که دادی وقتی گذاشتم ارور نداد ولی برای dataGridView1.Rows[i].Cells["mablagh"].Value == ""

یک warning ایجاد می شه که
Warning 1 Possible unintended reference comparison; to get a value comparison, cast the left hand side to type 'string' D:\laberator(saeed system)\laberator(saeed system)\CA.cs 192 21 laberator(saeed system)

چه کار کنم warning از بین بره....

sobaisobai
جمعه 20 آبان 1390, 23:07 عصر
بعد از Value . بذار و ToString() انتخاب کن