PDA

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



immortalsoull
پنج شنبه 07 آذر 1392, 23:35 عصر
سلام دوستان عزیز و گرامی !

من خیلی وقته که یک پروژه رو درستم مونده و همه کار هاش درست انجام شده به جز گزارش گیری که باید ستون های داخل جدول دیتا گرید ویو را جمع بزنم و یک سطر در آخر اضافه کنم که جمع هر ستون را نشان بده خیلی دنبالش گشتم ! یکی می گفت بهتره از datatable و یکی دیگه ... استفاده کنی اما من دارم از LINQ استفاده می کنم !

خوب حالا اگه کسی هست که کمک ما کنه ما حسابی ممنونش می شیم .
با تشکر دوستان اگه چیزی می دونند از ما دریغ نکنند . ممنون :لبخندساده:

fmehrvarzi
جمعه 08 آذر 1392, 09:47 صبح
این کد برا من کار کرده است. یک سطر جدید newRow که حاصل جمع ستونهای نظیر هست به انتهای DataGridView1 اضافه می شود:

DataGridViewRow newRow = (DataGridViewRow)DataGridView1.Rows[0].Clone();
int columnCount = DataGridView1.Columns.Count;
int[] sum = new int[columnCount];
for (int i = 0; i < DataGridView1.Columns.Count; i++)
{
foreach (DataGridViewRow row in DataGridView1.Rows)
{
sum[i]+=Convert.ToInt32(row.Cells[i].Value);
}
}

for (int i = 0; i < columnCount; i++)
{
newRow.Cells[i].Value = sum[i];
}

DataGridView1.Rows.Add(newRow);

immortalsoull
جمعه 08 آذر 1392, 12:55 عصر
دوست عزیز من همین رو گذاشتم اما این ارور را داد : Rows cannot be programmatically added to the DataGridView's rows collection when the control is data-bound.

fmehrvarzi
جمعه 08 آذر 1392, 16:04 عصر
این ارور به خاطر این است که جدول شما با دیتان متصل است.
در این صورت باید ااگوریتم مشابهی را با دیتا تیبل انجام دهید.

fmehrvarzi
جمعه 08 آذر 1392, 16:24 عصر
این ارور به خاطر این است که دیتا گرید ویو با دیتا اتصال دارد
بنابراین همان کدها با کمکی تغییرات و با استفاده از دیتاتیبل میتوان به جواب رسید
DataTable dt;

DataRow dr = dt.NewRow();
dr["Column1"] = sum[0];
dr["Column2"] = sum[1];

dt.Rows.Add(dr);

khokhan
جمعه 08 آذر 1392, 17:15 عصر
سلام دوستان عزیز و گرامی !

من خیلی وقته که یک پروژه رو درستم مونده و همه کار هاش درست انجام شده به جز گزارش گیری که باید ستون های داخل جدول دیتا گرید ویو را جمع بزنم و یک سطر در آخر اضافه کنم که جمع هر ستون را نشان بده خیلی دنبالش گشتم ! یکی می گفت بهتره از datatable و یکی دیگه ... استفاده کنی اما من دارم از LINQ استفاده می کنم !

خوب حالا اگه کسی هست که کمک ما کنه ما حسابی ممنونش می شیم .
با تشکر دوستان اگه چیزی می دونند از ما دریغ نکنند . ممنون :لبخندساده:
.................................................. .................................................. .....................................:لبخند:
113340