PDA

View Full Version : سوال: نمایش جمع چند ردیف در ستون آخر لیست ویو یا گرید ویو ؟



mohammad_2039
سه شنبه 25 خرداد 1389, 10:11 صبح
با سلام
این سوالی که میپرسم نمیدونم انجام شدنی هست یا نه :لبخند: ببینید من یه لیست ویو دارم که مثلا 20 تا ردیف رو از تیبل خوندم و توش نمایش دادم حالا میخوام ردیف هایی که شناسه پرونده یکسان دارن رو یکی از فیلدهاشون رو با هم جمع کنم و در ستون آخر نمایش بدم . یعنی به ازای چند ردیف در انتها یه ستون جمع وجود داره و باید این چند ردیف در انتهای لیست ویو یا گرید ویو مرج بشن و یک مقدار توش نمایش داده بشه. آیا امکان داره :متعجب: دوستان راهنمایی بفرمایند. یا اگه راه حل دیگه ای وجود داره که بشه یه همچین کاری انجام داد لطفا بفرمایید . با تشکر فراوان

sharifi_reza
سه شنبه 25 خرداد 1389, 11:17 صبح
سلام
ميتونيد با استفاده ازدستورات sql خروجي مورد نظرتونوتوليد كني بعد اونو تو فرمتون نمايش بدين.

mohammad_2039
سه شنبه 25 خرداد 1389, 12:00 عصر
با ساختن عدد نهایی مشکل ندارم !!؟ بالا توضیح دادم مشکل در نوع نمایشه ، میخوام جمع چند تا فیلد رو در ستون آخر که از مرج شدن ردیف های مورد نظر ایجاد شده نمایش بدم.

mohammad_2039
سه شنبه 25 خرداد 1389, 21:46 عصر
از دوستان کسی نمیتونه در این رابطه راهنمایی کنه:متفکر:کارم گیره :عصبانی++::گریه:

s.khoshfekran
چهارشنبه 26 خرداد 1389, 00:42 صبح
از Compute By استفاده کن! یه سرچ بزنی پیدا میشه!

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


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

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

mohammad_2039
چهارشنبه 26 خرداد 1389, 07:19 صبح
از Compute By استفاده کن! یه سرچ بزنی پیدا میشه!

چیزی که مشکل منو حل کنه پیدا نکردم ؟:متفکر:

mohammad_2039
چهارشنبه 26 خرداد 1389, 07:29 صبح
واسه جمع بهتر از تابع خود sqlاستفاده کنی
و قضیه دوم هم میتونی از این استفاد کن


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

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

ممنون از راهنماییتون، اما من خوب متوجه نشدم ؟ ("000","sum") این چیکار میکنه ؟؟ بعد من insert نمیخوام بکنم.قبلا اطلاعات وارد شده حالا هنگام خوندن اطلاعات جمع فیلدهایی که لازم دارم رو با دستورات sql تولید میکنم. حالا میخوام مثلا تو گرید نمایش بدم. فرض کنید ردیف 1 تا 4 شماره یکسان دارند حالا در ستون آخر این چهار ردیف یک ردیف برای نشون دادن جمع میخوام:لبخند:

iman_me
چهارشنبه 26 خرداد 1389, 10:23 صبح
ok متوجه شدم چی میخوای این کد رو زیر کد خواندن بزار
البته باید شماره سل هاش رو تغییر بدی


for (int i = 0; i < dataGridView1.Rows.Count-1; i++)
{
dataGridView1.Rows[i].Cells[2].Value=int.Parse(dataGridView1.Rows[i].Cells[0].Value.ToString()) + int.Parse(dataGridView1.Rows[i].Cells[1].Value.ToString());
}

mohammad_2039
چهارشنبه 26 خرداد 1389, 12:32 عصر
ممنون از راهنماییتون
من متوجه کدی که نوشتید شدم اما هر چقدر شماره سل ها رو تغییر میدم خطا میده وقتی هم خطا نمیده هیچ تغییری در گرید نمیده و همون رکوردهای جدول رو نشون میده. یه مسئله دیگه هم اینه که من نمیدونم ممکنه چند تا ردیف شماره پرونده یکسان داشته باشه ؟ شما اینجا دوتا در نظر گرفتید و با هم جمع کردید . اما تو برنامه من اگه 10 ردیف تو گرید خونده بشه ممکنه 3 تا یه شماره داشته باشه 2 تا یه شماره و 5 تای باقی مانده هم یه شماره. امیدوارم تونسته باشم منظورم رو بگم. اگه شما نمونه ای نوشتید که جواب داده ممنون میشم برام بزارید. با تشکر:لبخندساده:

iman_me
چهارشنبه 26 خرداد 1389, 13:10 عصر
شما یک نمونه ازمایشی از چیزی که می خواید بزارید که من درستش کنم

mohammad_2039
پنج شنبه 27 خرداد 1389, 00:47 صبح
شما یک نمونه ازمایشی از چیزی که می خواید بزارید که من درستش کنم

با تشکر مجدد از زحمتی که می کشید
این نمونه رو با دات نت 2008 و sqlserver2000 آماده کردم.
میخوام در دیتا گرید یه ستون به انتها اضافه بشه با نام هزینه نهایی که تو اون ردیف هایی که شماره پرونده یکسان دارند جمع هزینه هاشون با هم جمع بشه و در یک ردیف جلوی اونها نمایش داده بشه. با تشکر

mohammad_2039
پنج شنبه 27 خرداد 1389, 22:07 عصر
از دوستان کسی نمیتونه کمکم کنه:ناراحت::ناراحت::ناراحت:

iman_me
پنج شنبه 27 خرداد 1389, 23:29 عصر
اولا ببخشید که دیر شد امتحانات پایان ترم وقتی واسم نذاشته:خجالت:
دوم بازم ببخشید من سیستمم vs درست نصب نشد واسه همین نتونستم پروژه شما رو درست کنم
یکی بدون وصل شدن به پایگاه نوشتم اگه بازم چیزی بود بگو که بگم باید چیکار کنی

mohammad_2039
جمعه 28 خرداد 1389, 09:05 صبح
با سلام و خسته نباشید، از اینکه موقع امتحانات مزاحم میشم واقعا معذرت میخوام:خجالت:
من پروژه شما رو تغییر دادم و با یه عکس از چیزی که میخوام مجددا ارسال میکنم. توجه کنید که شماره پرونده یه فیلد یونیک نیست همانطوری که در تصویر مشخصه باید مجموع هزینه های هر پرونده در ستون آخر نمایش داده بشه. اگه امکان داشته با شه ردیف ها در آخر مرج بشن و مقدار نهایی در یک ردیف نشون داده بشه و اگر نمیشه به همین شکلی که مشاهده میکنید باشه. با تشکر و عذر خواهی مجدد :لبخندساده:

iman_me
جمعه 28 خرداد 1389, 12:47 عصر
سلام دوست عزیز کاش از اول همین رو گذاشته بودی
امیدوارم مشکلت حل بشه اگه بازم چیزی خواستی بگو این رو مثل همون عکس واست درست کردم

mohammad_2039
جمعه 28 خرداد 1389, 12:54 عصر
خیلی ممنونم خیلی عالی بود :تشویق::تشویق:واقعا بدردم خورد. ببخشید منظورم رو درست نگفتم و باعث زحمت شدم:لبخند:. فقط یه سوال : امکان نداره بشه تو گرید ویو چند تا ردیف رو مرج کرد و به یک ردیف تبدیل کرد.؟؟ بازم ممنونم

iman_me
جمعه 28 خرداد 1389, 13:03 عصر
میشه چند ردیف رو چی کرد؟؟؟؟؟؟؟؟؟؟؟؟؟:متفکر:
متوجه نشدم

mohammad_2039
جمعه 28 خرداد 1389, 13:35 عصر
:خجالت:ببخشید. Merge منظورم بود:بامزه: دو سه تا ردیف رو ترکیب کنیم. راستی اگه بخوام همین کد رو برای ListVeiw استفاده کنم چه تغییری باید توش بدم. با تشکر فراوان:قلب::قلب:

mohammad_2039
شنبه 29 خرداد 1389, 11:47 صبح
با سلام
خیلی ممنون از لطفت، با دوستای خوبی که دارم حتما حرفه ای میشم.
نمونه رو ارسال میکنم اگه زحمتی نیست اصلاحش کنید. ممنون میشم . میخوام وقتی دکمه " هزینه نهایی موضوع" رو میزنم مثل دفعه پیش جمع اعتبار برای موضوعات یکسان ،در ستون هزینه نهایی موضوع درج بشه. اگه امکان داشته باشه ردیفهای مشابه در ستون آخر merge بشن. اگر هم نه مثل قبلی باشه. باز هم از لطفت و وقتی که میزاری بینهایت ممنون هستم.

mohammad_2039
شنبه 29 خرداد 1389, 23:23 عصر
این تصویر واضح تر نتیجه رو نشون میده. با تشکر:لبخندساده: