PDA

View Full Version : سوال: نمایش مجموع یک فیلد در قسمت پایین Gridview



yasmeen
چهارشنبه 25 دی 1387, 14:20 عصر
با سلام
من یک نمونه کد به زبان C# تحت ویندوز می خوام که در GridView در قسمت پایینش مجموع یک فیلد (مثلا مجموع حقوق را در قسمت پایین ستون حقوق) نمایش دهد
متشکرم

اوبالیت به بو
چهارشنبه 25 دی 1387, 14:35 عصر
من یک نمونه کد به زبان C# تحت ویندوز می خوام که در GridView در قسمت پایینش مجموع یک فیلد (مثلا مجموع حقوق را در قسمت پایین ستون حقوق) نمایش دهد


int Sum = 0;
for (int i = 0; i < dataGridView1 .Rows .Count -1; i++)
{
Sum += int.Parse(dataGridView1.Rows[i].Cells["ColumnName"].Value.ToString ());
}
MessageBox.Show(Sum.ToString());
dataGridView1.Rows.Add(Sum.ToString());

ColumnName رو خودتون مقدار دهي كنيد.

yasmeen
چهارشنبه 25 دی 1387, 14:50 عصر
یعنی این کد در قسمت پایین GridView یک سط دیگه اضافه می کنه
چون من یک کدی می خوام زیر ستون فیلد(مثلا فیلد حقوق)جمعشو نشون بده

mehdi.mousavi
چهارشنبه 25 دی 1387, 15:02 عصر
با سلام
من یک نمونه کد به زبان C# تحت ویندوز می خوام که در GridView در قسمت پایینش مجموع یک فیلد (مثلا مجموع حقوق را در قسمت پایین ستون حقوق) نمایش دهد
متشکرم

سلام.
اگر منظورتون GridView هستش، لطفا به این سایت رجوع کنید (http://aspalliance.com/782).

اگر منظورتون DataGridView هستش، چند راه دارید:


این کنترل رو subclass کنید و کنترلهای مورد نظر رو خودتون انجام بدید.
از Component هایی استفاده کنید که اجازه گذاشتن Footer رو به شما میدن (مثل XCeed).
از این روش ساده و من در آوردی که در این سایت (http://social.msdn.microsoft.com/Forums/en-US/winformsdatacontrols/thread/eb6dba48-4b8d-483b-ba30-ae93ee960fa5/) یا این سایت (http://www.eggheadcafe.com/software/aspnet/31451455/datagridview-footer.aspx) ذکر شده، بهره مند بشید.

پاورقی: روش اول، صحیحترین روشه، اگر نمیخواهید از third-party component ها استفاده کنید.

yasmeen
چهارشنبه 25 دی 1387, 15:14 عصر
بله منظورم همان DataGridView می باشد می شه کدشو بذارید

اوبالیت به بو
چهارشنبه 25 دی 1387, 15:17 عصر
یعنی این کد در قسمت پایین GridView یک سط دیگه اضافه می کنه
چون من یک کدی می خوام زیر ستون فیلد(مثلا فیلد حقوق)جمعشو نشون بده
مشكل كجاست؟

Rejnev
چهارشنبه 15 اردیبهشت 1389, 11:19 صبح
سلام
شرمنده این رو میارمش بالا

این کنترل رو subclass کنید و کنترلهای مورد نظر رو خودتون انجام بدید.
میشه لطفا بیشتر توضیح بدید؟
در ضمن برای WinApp میخوام.
--------

مشكل كجاست؟
مشکلی نیست. فقط ما میخوایم همیشه این ردیف دیده بشه. مثل header
اینی که شما میگید با scroll به بالا، گم میشه!
و دیگه این که میخوام چسبیده به پایین گرید باشه. و نه به آخرین ردیف گرید.

atashsavar
چهارشنبه 15 اردیبهشت 1389, 12:21 عصر
سلام دوست عزیز فکر کنم خواسته ی شما اینه!!!




dataGridView1.Rows.Add("name1","100");
dataGridView1.Rows.Add("name2", "101");
dataGridView1.Rows.Add("name3", "230");
dataGridView1.Rows.Add("name4", "20");
dataGridView1.Rows.Add("name5", "322");
dataGridView1.Rows.Add("name6", "212");
dataGridView1.Rows.Add("name7", "1");

int sum=0;
for (int i = 0; i < dataGridView1.Rows.Count-1; i++)
{
sum += Int32.Parse(dataGridView1.Rows[i].Cells["salary"].Value.ToString());
}
dataGridView1.Rows.Add("", sum.ToString

Rejnev
چهارشنبه 15 اردیبهشت 1389, 15:00 عصر
سلام
نه، اینی که شما نوشتی همونیه که در پست دوم هست!
خواسته من اینه:(با فتوشاپ درستش کردم تا منظور رو برسونم)


http://barnamenevis.org/forum/attachment.php?attachmentid=48474&stc=1&d=1273056912


فکر میکنم همون روش لینک اول راه حل سوم پست اول! آقای موسوی بد نباشه
یا میشه پایین گرید یک لیبل گذاشت برای نمایش جمع و...

iman_me
چهارشنبه 15 اردیبهشت 1389, 20:58 عصر
یه دست بیاری تو برنامه خودت میتونی پیدا کنی اینکه این همه دردسر نداره
واسه جمع بهتر از تابع خود sqlاستفاده کنی
و قضیه دوم هم میتونی از این استفاد کن


dataGridView1.Rows[dataGridView1.RowCount-1].SetValues("sum","000");

این رو زیر کد Insert بزار

Rejnev
چهارشنبه 15 اردیبهشت 1389, 21:46 عصر
پست های
2
8
10
همگی یک کار رو میگن.
عزیزان این کار رو خودم هم میتونم انجام بدم.
این ردیف جدید به پایین گرید نمیچسبه:عصبانی++: