PDA

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



majidekazemi.7
دوشنبه 01 اردیبهشت 1393, 11:23 صبح
سلام وخسته نباشید به دوستای گلم.
من یک دیتا گرید ویو دارم با چند تا ستون
مثلا :
ستون نام-نام خانوادگی-شماره تلفن و مبلغ کل.
میخوام فیلد هایی که داخل ستون مبلغ کل هستش رو جمع کنم و در یک تکست باکس بریزم ، لطفا کمکم کنید.
یک سوال دیگه هم داشتم ...

من 2تا تکست باکس دیگه میخوام اضافه کنم
برای چی ؟
واسه این که کاربر دوست داره مثلا یه تعداد خاصی رو جمع بزنه . واسه ی همین در تکست باکس 1 شماره شروع آی دی و در تکست باکس 2 شماره آخرین آی دی رو بزنه
هرچی بین این دو آی دی وجود داره رو جمع بزنه و در تکست باکس 3 نمایش بده
متوجه شدین سوال من چی بود ؟؟
اگر نه بگین تا بیشتر توضیح بدم
متچکرم از دوستای گلم
واقعا به این مطلب نیاز دارم
حتما و لطفا کمکم کنید.

hidden68
دوشنبه 01 اردیبهشت 1393, 11:28 صبح
سلام وخسته نباشید به دوستای گلم.
من یک دیتا گرید ویو دارم با چند تا ستون
مثلا :
ستون نام-نام خانوادگی-شماره تلفن و مبلغ کل.
میخوام فیلد هایی که داخل ستون مبلغ کل هستش رو جمع کنم و در یک تکست باکس بریزم ، لطفا کمکم کنید.
یک سوال دیگه هم داشتم ...

من 2تا تکست باکس دیگه میخوام اضافه کنم
برای چی ؟
واسه این که کاربر دوست داره مثلا یه تعداد خاصی رو جمع بزنه . واسه ی همین در تکست باکس 1 شماره شروع آی دی و در تکست باکس 2 شماره آخرین آی دی رو بزنه
هرچی بین این دو آی دی وجود داره رو جمع بزنه و در تکست باکس 3 نمایش بده
متوجه شدین سوال من چی بود ؟؟
اگر نه بگین تا بیشتر توضیح بدم
متچکرم از دوستای گلم
واقعا به این مطلب نیاز دارم
حتما و لطفا کمکم کنید.

سلام
باید با sql این کارارو انجام بدی
خیلی راحته
برای جمع از تابع sum استفاده کن
برای اون آیدی هم از betwin یا bitvin یا betowen یا between
املاش کدوم بود نمیدونم
:لبخند:

majidekazemi.7
دوشنبه 01 اردیبهشت 1393, 11:39 صبح
دمت گرم داش خیلی گلی
میشه بیشتر توضیح بدی ؟؟؟
دقیقا بگو چ کار کنم.
دمت گرم
زحمتتو زیاد کردم
ببخشید

hidden68
دوشنبه 01 اردیبهشت 1393, 11:55 صبح
دمت گرم داش خیلی گلی
میشه بیشتر توضیح بدی ؟؟؟
دقیقا بگو چ کار کنم.
دمت گرم
زحمتتو زیاد کردم
ببخشید

چاکرم داداش
ابتدا باید یه سلکت بزنی
توی سلکتت از تابع sum استفاده کنی
من کدتو ندارم
واس همین نمیتونم بهت کد بدم
اما یه نمونه بهت میدم
Select SUM(salary) FROM Tabalename
مثلا این کوئری
اینجوری میتونی جمع اون فیلدو بدست بیاری
اگه هم فیلدهای خاصی باید جمع شن
where میزاری

majidekazemi.7
دوشنبه 01 اردیبهشت 1393, 12:01 عصر
salari نام ستونته مثلا ؟؟

majidekazemi.7
دوشنبه 01 اردیبهشت 1393, 12:05 عصر
داش یه چیز دیگه
من میخوام با زدن دکمه عملیات اتفاق بیوفته
چور شما میگی این دسورات رو تو sql بنویسم ؟؟

hidden68
دوشنبه 01 اردیبهشت 1393, 12:06 عصر
salari نام ستونته مثلا ؟؟

آره
نام هر ستونی رو میتونی اینجوری جمع کنی
واس سوال دومتم میتونی دوتا تکست باکس بزاری
بعد کوئریتو اینجوری تغییر بدی
Select * FROM Tabalename WHERE id between textbox1 AND textbox2

majidekazemi.7
دوشنبه 01 اردیبهشت 1393, 12:07 عصر
چاکرم داداش
ابتدا باید یه سلکت بزنی
توی سلکتت از تابع sum استفاده کنی
من کدتو ندارم
واس همین نمیتونم بهت کد بدم
اما یه نمونه بهت میدم
Select SUM(salary) FROM Tabalename
مثلا این کوئری
اینجوری میتونی جمع اون فیلدو بدست بیاری
اگه هم فیلدهای خاصی باید جمع شن
where میزاری

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

hidden68
دوشنبه 01 اردیبهشت 1393, 12:08 عصر
داش یه چیز دیگه
من میخوام با زدن دکمه عملیات اتفاق بیوفته
چور شما میگی این دسورات رو تو sql بنویسم ؟؟
داداش من
اینا کوئری هستن
کوئری رو تو برنامت اجرا کن
چجوری سلکت میکنی؟
دیتا گریدتو چجوری پر میکنی؟
جای اون کوئری
این کوئری رو بنویس

hidden68
دوشنبه 01 اردیبهشت 1393, 12:10 عصر
داش تو چ کدی رو میخوای من واست این جا بزارم ؟؟
چه چیزی لازم داری بهم بگو تا واست بزارم تا دستت باز شه واضح تر توضیح بدی....
کد لازم نیست
ببین
توی اون کوئریت فقط جایگزاری کن
جای سالاری فیلدی که میخوای جمع شه بزار
جای تیبل نیمتم نام جدول
بعدم کوئری اجرا کن
تموم
اعمال میشه

majidekazemi.7
دوشنبه 01 اردیبهشت 1393, 12:17 عصر
اوکی داش گرفتم
فقط یه چیزی دقیقا این کدو کجا بنویسم ؟؟
Select SUM(salary) FROM Tabalename

یه سوال دیگه
بعد از این کارها حالا چطوری این عملیات رو بریزم تو یک متغیر ؟؟؟
شرمنده من انقد سوال میپرسم
آخه در این مورد هیچی بلد نیستم

hidden68
دوشنبه 01 اردیبهشت 1393, 15:57 عصر
لطفا راهنمایی و کمک کنید دوستان

داداش میشه کد پر کردن دیتاگرید ویو رو بزاری ببینیم؟
میخوام ببینم چطوری پر کردی گریدتو

مهرداد صفا
پنج شنبه 04 اردیبهشت 1393, 18:08 عصر
سلام.
می تونید برای جمع فیلدهای مورد نظر از متود Sum (http://msdn.microsoft.com/ja-jp/library/system.linq.enumerable.sum(v=vs.110).aspx) استفاده کنید.
برای محدود کردن رکورد ها هم از Skip (http://msdn.microsoft.com/en-us/library/vstudio/bb358985(v=vs.100).aspx) و Take (http://msdn.microsoft.com/en-us/library/vstudio/bb503062(v=vs.100).aspx) استفاده کنید. به این صورت:


int sum=dataGridView1.Rows.Cast<DataGridViewRow>().Select(r=>Convert.ToInt32(r.Cells["total"])).Sum();
int sum2=dataGridView1.Cast<DataGridViewRow>().Select(r=>Convert.ToInt32(r.Cells["total"))
.Skip(Convert.ToInt32(TextBox1.Text))
.Take((Convert.ToInt32(TextBox2.text)-Convert.ToInt32(textBox1.Text))).Sum();

alireza_wills
پنج شنبه 04 اردیبهشت 1393, 19:16 عصر
میتونی از این راه استفاده کنی:

float Total=0;
for(int i=0;i<DataGridView1.RowCount;i++)

Total=float.Pars(DataGridView1.Row[i].Cells[5].Value.ToString();+Total;

maryam145
دوشنبه 24 فروردین 1394, 19:50 عصر
سلام خسته نباشین می خوام مقدار ی ستون از نوع عدد و محدود کنم یعنی ستونم بیشتر از 11 تا عدد قبول نکنه ؟میشه کمکم کنین