جمع اعداد در دیتاگرید و نمایش در text box

diehard2007

عضو جدید
Price.jpg

با سلام و خسته نباشید من یه فرم این شکلی دارم می خوام وقتی جستجو می کنم از تاریخ فلان تا تاریخ فلان هم تو دیتاگرید قیمت های دریافتی از مشتری رو نشون بده و مبلغ کل رو جمع کنه و در text box جمع کل نشون بده یعنی مثلا اگر یه 15000 تومان و یه 25000 تومان و یه 10000 تومان را جمع کلش که میشه 50000 تومان رو حساب کنه و در text box جمع کل نشون بده .
 

negin17h

مدیر تالارهای مهندسی کامپیوتر و رباتیکمتخصص #C
مدیر تالار
مشاهده پیوست 61873

با سلام و خسته نباشید من یه فرم این شکلی دارم می خوام وقتی جستجو می کنم از تاریخ فلان تا تاریخ فلان هم تو دیتاگرید قیمت های دریافتی از مشتری رو نشون بده و مبلغ کل رو جمع کنه و در text box جمع کل نشون بده یعنی مثلا اگر یه 15000 تومان و یه 25000 تومان و یه 10000 تومان را جمع کلش که میشه 50000 تومان رو حساب کنه و در text box جمع کل نشون بده .

عزیز شما بخشی که مربوط به مبالغ هست رو که با Query در میاری و نمایش میدی. در مورد جمع مبالغ اگر شرط خاصی نداره و جمع مقادیری هست که پس از سرچ بدست می آید، ساده ترین راه اینه که یک تابع بنویسی و دیتاست یا دیتاتیبل پرشده را به اون پاس کنی و به تعداد سطرهاش، فیلد مبلغ رو در یک متغیر بریزی که البته با مقدار قبلیش جمع میشه :gol:
اگر هم از کامپوننت هایی مثل DevExpress، Telerik, Janus و ... استفاده می کنی که خودشون این کار رو براحتی انجام میدن :gol:
 

diehard2007

عضو جدید
من فایل JanusWinFormsV3.5.1 رو دانلود کردم اما نمی دونم چطوری باید تو فرمی که براتون گذاشتم ازش استفاده کنم
 

negin17h

مدیر تالارهای مهندسی کامپیوتر و رباتیکمتخصص #C
مدیر تالار
من فایل JanusWinFormsV3.5.1 رو دانلود کردم اما نمی دونم چطوری باید تو فرمی که براتون گذاشتم ازش استفاده کنم

عزيز Sample هاش که همراهش هست رو نگاه کنید متوجه می شید :gol:
 

RIG

متخصص C#.net
سوالی داشتی بپرس
 

پیوست ها

  • Example.zip
    62.5 کیلوبایت · بازدیدها: 0

diehard2007

عضو جدید
با سلام و خسته نباشید مجدد اون فرمی گه عکشو براتون گذاشتم پائینش دو تا تکست باکس داره که یکی از آنها جمع کل رو نشون می ده و یکی سود خالص .
من جمع کل رو نشون می دم حالا می خوام سود خالص رو نشون بدم که مثلا اون قطعه ای که تو تعمیرگاه مصرف شده رو از هزینه دریافتی کم کنه یعنی اگر 35000 تومان از مشتری گرفتیم و 15000 تومان قیمت قطعه شده درون تکست باکس سود خالص 20000 تومان برگردونه باید چه کار کنم ؟ خیلی ضروریه .
 

negin17h

مدیر تالارهای مهندسی کامپیوتر و رباتیکمتخصص #C
مدیر تالار
با سلام و خسته نباشید مجدد اون فرمی گه عکشو براتون گذاشتم پائینش دو تا تکست باکس داره که یکی از آنها جمع کل رو نشون می ده و یکی سود خالص .
من جمع کل رو نشون می دم حالا می خوام سود خالص رو نشون بدم که مثلا اون قطعه ای که تو تعمیرگاه مصرف شده رو از هزینه دریافتی کم کنه یعنی اگر 35000 تومان از مشتری گرفتیم و 15000 تومان قیمت قطعه شده درون تکست باکس سود خالص 20000 تومان برگردونه باید چه کار کنم ؟ خیلی ضروریه .

دوست عزیز، Select ای که سمت بانک میزنی، علاوه بر اینکه اطلاعات مثلاً فاکتور را میاری باید اطلاعات خریدش رو هم بیاری یا اینکه همون سمت کوئری اینا رو از هم کم کنی و بقیه اش هم مشخصه مثل قبله :gol:
 

diehard2007

عضو جدید
من برای جمع کردن اعداد و نمایش آن در تکست باکس از این تابع استفاده کردم

private void sum()
{
double s = 0;
double t = 0;
for (var i = 0; i < dataGridView1.Rows.Count - 1; i++)
{
s +=
double.Parse(dataGridView1.Rows.Cells["Price"].Value.ToString());
t +=
double.Parse(dataGridView1.Rows.Cells["GheymatehGheteeMasrafi"].Value.ToString());
}
mtbKol.Text = s.ToString();
txtSodeKhales.Text = t.ToString();
}

ولی برای کم کردن و نمایش آن در تکست باکس دومی نمی دونم چه کار کنم
 

negin17h

مدیر تالارهای مهندسی کامپیوتر و رباتیکمتخصص #C
مدیر تالار
شما دو راه دارید:
1) سمت بانک با دستورات بسیار ساده محاسبات را انجام دهید.
2) مبلغ خرید رو در Select بیارید و در تابع مربوطه مبلغ فروش و خرید را از هم کم کنید.

در ضمن در کد فوق -1 نياز نبود چون کوچکتر گذاشتید. اگر از Count-1 استفاده می کنید باید => را بکار بگیرید :gol:
 

RIG

متخصص C#.net
من راسش نمیدونم دیگه میخای چیکار کنی. چون خودمم نت زیاد نمیام نمیتونم به سوال ها برسم. الا اگه تو دو تا قیمت داشته باشی و از دو ستون گرید خونده باشی و در دو تا باکس نشون داده باشی می تونی با منهای یکی از یکی دیگه تو تکست باکس سوم مابه تفاوت رو نشون بدی.
box3.Text = Convert.ToString(double.Parse(box1.Text) - double.Parse(box2.Text));
 

Similar threads

بالا