View Full Version : مبتدی: مشکل در جمع مقادیر ستون در گرید ویو
mahdioo12194
جمعه 18 شهریور 1390, 20:27 عصر
سلام از دوستان خواهش می کنم برنامه زیر را بررسی نمایند ببینند مشکل از کجاست؟
با تشکر
mahdioo12194
پنج شنبه 31 شهریور 1390, 15:54 عصر
البته جمع مقدیر را در تکست باکس یا جای دیگه می ریزم نشون می ده ولی در footer هر کار می کنم نشون نمی ده؟
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
int Total = 0;
for (int i = 0; i < GridView1.Rows.Count; i++)
{
Total += Convert.ToInt32(GridView1.Rows[i].Cells[1].Text);
}
((Label)GridView1.FooterRow.FindControl("Label2")).Text = Convert.ToString(Total);
}
dontspeak
پنج شنبه 31 شهریور 1390, 18:38 عصر
سلام دوست عزیز
چون داره footer رو هم باهاش جمع می کنه این ارور رو میده باید یه شرط بزاری که footer , header رو با اون جمع نکنه. اون شرط اینه
if (e.Row.RowType == DataControlRowType.DataRow)
موفق باشید
mahdioo12194
پنج شنبه 31 شهریور 1390, 19:27 عصر
سلام ممنون ولی من هر جا این کد رو گذاشتم باز اجرا نشد :عصبانی++: خواهشا بگید کجا و چه جوری باید استفاده شود چون
من مبتدی هستم؟
با تشکر
dontspeak
پنج شنبه 31 شهریور 1390, 20:32 عصر
داخل حلقه for باید بزارید و اگه جواب true بود اون خط کد داخل حلقه for رو اجرا کنه
Total += Convert.ToInt32(GridView1.Rows[i].Cells[1].Text);
mahdioo12194
پنج شنبه 31 شهریور 1390, 20:47 عصر
همین کار رو کردم ولی باز هم ارور می ده؟ همون ارور قبلی؟!!!!!!
اگه می شه برنامه رو اصلاح کنید و بفرستید چون من که هر کار کردم ارور داد؟!
dontspeak
پنج شنبه 31 شهریور 1390, 21:55 عصر
اینم نمونه که 100% کار می کنه و خودم تست کردم
mahdioo12194
پنج شنبه 31 شهریور 1390, 22:15 عصر
دوست عزیز این برنامه حاصل جمع رو در بیرون گرید و در یک لیبل نمایش می دهد اما من می خوام در footer خود گرید نشون بدم مشکل اینه و گرنه برنامه من هم اگر
به جای کد
((Label)GridView1.FooterRow.FindControl("Label2")) .Text = Convert.ToString(Total);
بنویسم این:
Label1.Text = Total.ToString();
کار میکنه!!!
TeacherMath
پنج شنبه 31 شهریور 1390, 22:54 عصر
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
TableCell cellNumber = e.Row.Cells[1];
Total += int.Parse(cellNumber.Text);
}
if (e.Row.RowType == DataControlRowType.Footer)
{
e.Row.Cells[0].Text = "جمع";
e.Row.Cells[1].Text = Total.ToString();
}
Label1.Text = Total.ToString();
GridView1.ShowFooter = true;
}
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.