PDA

View Full Version : جمع ستون ها گرید ویو



mosavi8002
جمعه 22 اسفند 1393, 19:56 عصر
سلام دوستان
من گرید ویو دارم که دیتا بیس میخونه .و فقط عدد هست .مثلا ستون سوم گرید ویو من عدد هست .
حالا کاربر احتمال داره اضافه کنه به این مبلغ
من میخوام دگمه ای بذارم و وقتی اونو زدم بیاد اون ستون رو جمع بزنه .
چطوری باید بنویسم؟
ممنونم

systam
جمعه 22 اسفند 1393, 20:00 عصر
سلام
فکر کنم این کارتو راه بندازه (http://barnamenevis.org/showthread.php?374145-%D8%AC%D9%85%D8%B9-%D9%83%D8%B1%D8%AF%D9%86-%D9%85%D9%82%D8%A7%D8%AF%D9%8A%D8%B1-%D9%8A%D9%83-%D8%B3%D8%AA%D9%88%D9%86-%D8%AF%D8%B1-%D8%AF%D9%8A%D8%AA%D8%A7-%DA%AF%D8%B1%D9%8A%D8%AF-%D9%88%D9%8A%D9%88)

Mofid.m
جمعه 22 اسفند 1393, 22:09 عصر
سلام


int sum = 0;
for (int row = 0; row < dataGridView1.Rows.Count; row++)
sum += int.Parse(dataGridView1.Rows[row].Cells[1].Value.ToString());



بعد از اجرای این حلقه مقدار sum برابر با مجموع اون مقادیر میشه.
فقط به جای 1 توی حلقه شماره ستون یا نام ستونی رو که اعدادت توش هست رو بنویس

mosavi8002
شنبه 23 اسفند 1393, 19:07 عصر
دوستان من اینکار رو میکنم این ارور رو میده



Index eas out of range.must be non-negative an less than size of the collectiin
parametr name:index

دلیلش چیه؟

کدم هم اینه



int sum = 0;
for (int row = 0; row < dataGridView1.Rows.Count; row++)
sum += int.Parse(dataGridView1.Rows[row].Cells[19].Value.ToString());

label12.Text = sum.ToString();

Mofid.m
شنبه 23 اسفند 1393, 19:14 عصر
دوستان من اینکار رو میکنم این ارور رو میده

اگه اون کدی که من نوشتم رو استفاده کردی و این ارور رو میده واسه اسنه که خاصیت Add Rows دیتا گریدت فعاله.
یا Add Row رو تیکشو بردار یا اگر میخوای باشه کد بالا رو به این شکل تغییر بده.


int sum = 0;
for (int row = 0; row < dataGridView1.Rows.Count-1; row++)
sum += int.Parse(dataGridView1.Rows[row].Cells[1].Value.ToString());

یعنی تو حلقه for انتهای حلقه که برابر با طول گرید بود رو یه دونه کم کردم

mosavi8002
شنبه 23 اسفند 1393, 20:08 عصر
اگه اون کدی که من نوشتم رو استفاده کردی و این ارور رو میده واسه اسنه که خاصیت Add Rows دیتا گریدت فعاله.
یا Add Row رو تیکشو بردار یا اگر میخوای باشه کد بالا رو به این شکل تغییر بده.


int sum = 0;
for (int row = 0; row < dataGridView1.Rows.Count-1; row++)
sum += int.Parse(dataGridView1.Rows[row].Cells[1].Value.ToString());



دوست عزیز ممنون از لطفت هم add row رو غیر فعال کردم نشد .هم این کد رو تست کردم این ارور رو میده
نمیدونم چرا!
دیونم کرده
خیلی هم ساده است یه گرید ویو هست میخوام ستون رو جمع بزنم با زدن دگمه
ولی...

Mofid.m
شنبه 23 اسفند 1393, 20:17 عصر
دوست عزیز ممنون از لطفت هم add row رو غیر فعال کردم نشد .هم این کد رو تست کردم این ارور رو میده
نمیدونم چرا!
دیونم کرده
خیلی هم ساده است یه گرید ویو هست میخوام ستون رو جمع بزنم با زدن دگمه
ولی...

دوست عزیز چند تا سوالل دارم
1-این ستونی که باید جمع بشه چندمین ستونه؟ از شماره 1 شروع کن به شمردن
2- کلا چند تا ستون داری تو دیتا گریدت؟ از شماره 1 شروع کن

mosavi8002
شنبه 23 اسفند 1393, 21:17 عصر
آقای Mofid.m (http://barnamenevis.org/member.php?309366-Mofid-m) دستت درد نکنه
من تو جدولم که هدر ها رو فارسی کرده بودم .شده بود Column19 که من اینو مینوشتم
حالا که گفتی خودت بشمار .شمردم شد 8 و حل شد
خدا خیرت بده دوست عزیز

Mofid.m
شنبه 23 اسفند 1393, 22:24 عصر
آقای Mofid.m (http://barnamenevis.org/member.php?309366-Mofid-m)
دستت درد نکنه
خواهش میکنم



من تو جدولم که هدر ها رو فارسی کرده بودم .شده بود Column19 که من اینو مینوشتم
حالا که گفتی خودت بشمار .شمردم شد 8 و حل شد
ستون ها از شماره 0 شروع میشن.
سطر ها هم همینطور.
کلا index ها توی C# از شماره 0 شروع میشه.