جمع کردن یک ستون اردیتا گرید
سلام دوستان.من واسه جمع کردن یه ستون از دیتاگرید از کد زیر استفاده میکنم.ولی اگه یکی از رکوردها خالی باشه جمع اطلاعات رو نمایش نمیده. میشه کمک کنید
int a = 0;
for (int i = 0; i < grd.Rows.Count - 1; i++)
{
a = a + Int32.Parse(grd.Rows[i].Cells[3].Value.ToString());
}
label2.Text = a.ToString();
نقل قول: جمع کردن یک ستون اردیتا گرید
دوست عزیز تو می خوای جمع یک ستون که int هست رو بدست بیاری و مسلما وقتی یکی از رکودها خالی باشه ارور می ده چون int نیست که جمع کنه تو 2 کار برای رفع مشکلت می تونی بکنی
1- دستورتو توی try بنویسی (البته با این کار دیگه ستون جمع بسته نمی شه)
2-می تونی قبل از انجام این عمل یک دستور بنویسی که هر رکودی که خالی هست جاش صفر بذاره بعد جمع بزنه...
نقل قول: جمع کردن یک ستون اردیتا گرید
به جای استفاده از int.pars از int.tryparse استفاده کن
نقل قول: جمع کردن یک ستون اردیتا گرید
سلام،علاوه بر دستورات بالا میتونی از دستور sql زیر هم استفاده کنی:
SELECT ISNULL(SUM(money),0) FROM Table1
money نام ستونی از جدولت هست که میخوای جمع بزنی.
تابع ISNULL : اگر مقدار فیلد موجود (از آخرین رکورد بازیابی شده دردسترس) برابر Null بود مقدار جایگزین که در این مثال 0 درنظرگرفته شده است را اثر می ده .
راستی شرطی که در حلقه for هم گذاشتی اشتباهه(در واقع رکورد آخر بررسی نمیشه، یعنی اگه 4 تا رکورد داشته باشی مقدار count = 4 هست ،حالا شما تو شرط گفتی کوچکتر از 3 باشه(یعنی رکوردهای 0 و 1 و 2 )در صورتیکه اندیس رکوردهای شما 0 ، 1، 2 و 3 هستن،علامت مساوی رو هم باید به کوچکتر اضافه کنی یا اینکه 1- رو برداری.
موفق باشی.
نقل قول: جمع کردن یک ستون اردیتا گرید
با سلام خدمت شما دوست گرامی
int sum=0;
for (int a = 0; a < grid.Rows.Count - 1; a++)
{
if (grid.Rows[a].Cells[1].Value != null) sum += (int)grid.Rows[a].Cells[1].Value;
}
MessageBox.Show(sum.ToString());
موفق باشی
بایت بایت