PDA

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



zayens
جمعه 01 مرداد 1389, 13:43 عصر
دراین مورد سرچ کردم ولی چیزی دستگیرم نشد.
میخواستم ببینم چه طور می تونم داده های یه ستون (مثلا ستون سوم) دیتاگرید را جمع کنم
و بعدش حاصل را توی مثلا یه تکست باکس اضافه کنم.
نکته: میخوام از روش پیمایش استفاده کنم و نمیخوام از دیتاتیبل dataTable استفاده کنم
من دیتاگریدم را با کد زیر پر میکنم که این کد یه کلاس دیگر را فراخوانی میکند. پس مشخص
است که کار با DataTable بی فایده است.


FACTOR myFac = new FACTOR();
myFac.AllFactorSelectAll();
myGridView.DataSource = myFac.DvFactor;

همانطور که در کد بالا می بینید در کلاس FACTOR رویداد AllFactorSelectAll صدا زده میشود
این هم کد این کلاس


public void AllFactorSelectAll()
{
cmd = new SqlCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "select *from ALLFACTORS";
DbRun = new MyDbRun();
DbRun.ExecSelectCommand(cmd);
DvFactor = new DataView();
DvFactor = DbRun.DvRun;
}

لطفا اگر کسی میدونه کمک کنه.

mmd2009
جمعه 01 مرداد 1389, 14:52 عصر
با سلام

کد زیر رو امتحان کن :





int g=0;

for(int i = 1;i<=dg1.Rowcount-1;i++)
j=j+int.parse(dg1.row[i].cell[3].value.Tostring();
textbox1.text=j.Tostring();

zayens
شنبه 02 مرداد 1389, 01:42 صبح
خودم کد زیر را امتحان کردم درست کار کرد.


//**************جمع ستون های دیتاگریدویو
int sum = 0;
for (int i = 0; i < GrdViewFAC.Rows.Count; i++)
{
sum += int.Parse(GrdViewFAC.Rows[i].Cells["TOTALCOST"].Value.ToString().Trim());
}
txtTotalCost.Text = sum.ToString();


Rowcount-1چرا منهای 1 کردید؟فکر کنم نیازی نباشه
کد شما هم فکر کنم درست باشه

vandermond
شنبه 02 مرداد 1389, 02:44 صبح
چرا منهای 1 کردید؟فکر کنم نیازی نباشه
کد شما هم فکر کنم درست باشه
دوست عزيز

i<=dg1.Rowcount-1
و


i < GrdViewFAC.Rows.Count
دقيقا معادل هستن. يكي داره تا كوچكتر يا مساوي Rowcount-1 رو ميشمره و يكي ديگه كوچكتر از Rowcount رو.

JODESA
جمعه 17 شهریور 1391, 15:18 عصر
من کد شما را زدم اما از i ایراد گرفت چکار کنم ممنون

ehsan7007
جمعه 17 شهریور 1391, 15:23 عصر
92504

از یکی از دوستانه که دانلود کردم ولی اسمشون یادم نیست شاید تو خودش باشه.

JODESA
جمعه 17 شهریور 1391, 16:29 عصر
دوست عزیز از کد روبه رو ایراد می گیرد (sum_column1 = sum_column1 + Convert.ToInt32(dataGridView1.Rows[i].Cells[1].Value

ehsan7007
جمعه 17 شهریور 1391, 16:55 عصر
چه ایرادی؟
متن ارور چیه؟

ehsan7007
جمعه 17 شهریور 1391, 17:00 عصر
این که مثل ساعت کار می کنه!


92506

JODESA
جمعه 17 شهریور 1391, 17:20 عصر
Input string was not in a correct format.

ehsan7007
جمعه 17 شهریور 1391, 17:24 عصر
چه مقداری وارد می کنی؟

JODESA
جمعه 17 شهریور 1391, 20:50 عصر
دوست من مشکلم حل شد ممنون از کمکت

matin.soft
شنبه 18 شهریور 1391, 08:47 صبح
شما در وارد کردن اطلاعات قیمت ها فقط از اعداد استفاده کنید این خطا موقعی بوجود میاد که در محاسبه مجموع ورودی چیزی غیر از integer باشه