PDA

View Full Version : گزارش گیری



o0maryam0o
پنج شنبه 22 بهمن 1388, 23:11 عصر
سلام
دوستان من می خوام درآمد یه اداره از اجاره املاکش رو در یک بازه زمانی که کاربر تعیین می کنه به دست بیارم . یعنی ممکنه فقط 6 ماه از یه قراردادی توی این بازه قرار بگیره و یا کل یه قرارداد دیگه و...در ضمن برای هر قراردادی در DB یک تاریخ شروع یک تاریخ پایان و یک تاریخ فسخ هست.
می خواستم منو راهنمایی کنید که اولا اطلاعاتمو تو dataGridView نمایش بدم یا توی TextBox ؛ کلا روند کارم باید به چه صورت باشه. یه مشکل دیگه هم اینه که مبلغ اجاره ها متغییره چطور باید این تغییراتو اعمال کنم؟؟؟؟؟؟؟ :متفکر:
ممنونم

slashslash2009
جمعه 23 بهمن 1388, 11:47 صبح
اگر در هر دفعه فقط میخوای اطلاعات مربوط به یک واحد یا خانه اجاره ای رو ببینی بهتره از تکست باکس استفاده کنی ولی اگر بخوای تعداد بیشتریو ببینی از گریدویو.
شما واسه ثبت هر مشتری خوب باید همون موقع مبلغ اجاره مخصوص اون رو هم وارد کنید

o0maryam0o
جمعه 23 بهمن 1388, 12:01 عصر
سلام

دوست عزیز از راهنماییتون ممنونم.

منم مبلغ اجاره رو همون موقع ثبت واردکردم می خوام از درآمد این اداره مثلا در مدت یکسال از اجاره ی املاکش که دارای اجاره بهای متفاوتی هستن گزارش بگیرم.مشکلی با ثبت ندارم مشکلم با جمع مبالغ اجاره هر ملکه که با ملک دیگه تفاوت داره.

واینکه ممکنه قسمتی از یه قرارداد مثلا 2 ماهش توی بازه گزارش گیری قرار بگیره.

امیدوارم منظورم واضح مطرح کرده باشم.:ناراحت:

slashslash2009
جمعه 23 بهمن 1388, 12:43 عصر
شما برای گزارش گیری باید هر دفعه فقط از یک ملک گزارش بگیرید و مجموع رو بدست بیارید.
و سواله دومتون هم یک نمونه کد واستون میزارم

dt = consql.MySelect("Select * from table1 where date BETWEEN'" + date1.Text + "'AND'" + date2.Text + "'");شما باید فیلد تاریختونو از جنس رشته بگیرید نه date که راحت بشه تاریخ فارسی رو ذخیره کرد
در مثال بالا دستور select تاریخهای بین دو مقدار date1وdate2 را بدست میاره

o0maryam0o
جمعه 23 بهمن 1388, 19:03 عصر
دوست عزیز بازم ممنون

می شه بهم بگید اگه سه تا قرارداد تو یه بازه بود (سه تا سطر دیتاگریدویو) چطوری باید اجاره هاشو باهم جمع کنم؟منظورم اینه که از کدوم Event های دیتاگرید ویو باید استفاده کنم.
مثلا SelectedRow سطر انتخاب شده رو برمی گردونه. یعنی باید دونه دونه کاربر انتخاب کنه بعد برنامه جمع کنه یا راه دیگه ایم هست؟:متفکر:

slashslash2009
جمعه 23 بهمن 1388, 21:15 عصر
لازم نیست که در رویداد خاصی از گرید ویوتون بنویسید میتونید در یک باتون این کدو بنویسید .

for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
sam += double.Parse(dataGridView1.Rows[i].Cells[7].Value.ToString());

}در این کد متغیر sam که از جنس اعشاری double است حاصل جمع یکی از ستونهای گرید ویو را ذخیره میکنه که در اینجا ستون 7 است البته ستونها از صفر شروع میشن ولی شما میتونید نام اون ستونو رو به جای شماره اش وارد کنید مثل "قیمت"
dataGridView1.Rows.Count تعداد سطرهای گرید ویو رو میگیره