0 امتیاز

من در گرید ویویی که از دیتابیس بایند می کنم، یک ستون ساعت دارم، می خوام جمع ساعت ها را محاسبه کنم و در یک لیبل نمایش بدم، از کدی که در سایت بود استفاده کردم، جمع اعداد رو به خوبی نشان می دهد ولی ساعت رو جمع نمی کنه، دوستان اگر لطف کنند راهنمایی کنند ممنون میشوم:

ساعت ها به این صورت در ستون نمایش داده می شوند: 01:25

کد زیر جهت جمع اعداد در یک ستون:

int sum = 0;
for (int i = 0; i<DGV_Msaati.Rows.Count; ++i)
{
    sum += Convert.ToInt32(DGV_Msaati.Rows[i].Cells[9].Value);
}
txt_sumTime.Text = "Total sum is:" + sum.ToString();

 

بسته شده
اگر لطف کنید به جای توبیخ راهنمایی بفرمائید که باید چه کنم ممنون میشم برادر
توسط (252 امتیاز) 4 13 22

گفتم دیگه !! DateTime استفاده کن

توسط (1,087 امتیاز) 8 52 1 نشانه گذاری شده

1 پاسخ

+1 امتیاز
 
بهترین پاسخ

هر چند این mthread درست میگن، ولی طوری که معلومه شما نمی خواین از DateTime استفاده کنید. پس این جواب سوالتونه

private void Form2_Load(object sender, EventArgs e)
{
    dataGridView1.Rows.Add("02:15", "sun");
    dataGridView1.Rows.Add("05:25", "sut");
    dataGridView1.Rows.Add("07:55", "mon");


    // now using ints
    int totalHours = 0;
    int totalMins = 0;

    foreach (DataGridViewRow row in dataGridView1.Rows)
    {
        if (row.IsNewRow) break;
        object val = row.Cells[0].Value;
        if (!Convert.IsDBNull(val) && val != null && val.ToString().Length > 0)
        {
            string[] items = val.ToString().Split(':');
            totalHours += int.Parse(items[0]);
            totalMins += int.Parse(items[1]);
        }
    }

    totalHours += totalMins / 60;
    totalMins = totalMins % 60;
    label1.Text = String.Format("{0:D2}:{1:D2}", totalHours, totalMins);
}

اینم خروجی

سوال جدید

2,334 سوال

2,871 پاسخ

3,725 دیدگاه

3,915 کاربر

دسته بندی ها

...