PDA

View Full Version : سوال: مشکل در افزودن آیتم های فاکتور در datagridview



reyra2005
دوشنبه 18 اسفند 1393, 23:32 عصر
سلام

من برنامه مدیریت رستوران رو دارم تحت سی شارپ و linq پیاد سازی میکنم ولی چند وقتی تو فرم فاکتورم به یه مشکل جدی برخورد کردم

من تو فرم فاکتور از یک دیتا گرید استفاده کردم که درواقع فاکتور فروش من حساب میشه من کالا هایی که قصد اضافه کردن به این فاکتور را دارم توسط تکست باکس های که از جدول کالا پر شده اند را به دیتا گرید فاکتورم میفرستم ( بطور مستقیم به دیتا گرید ارسال میشه نه با جدول ) حال مشکل اینجاست که کاربر اگر کالایی تکراری انتخاب کنه این کالا بعنوان کالای جدید به سطر جدید دیتا گرید اضافه میشه که منطقا درست نیست من می خوام کالایی اگه تکراری وارد شد در همون سطر قبلی که اون کالا قبلا اضافه شده بطور خودکار فقط مقدار اون کالا عوض شه


یعنی اگر دیتا گرید به اینصورت پر شده باشه

ردیف نام کالا کد کالا تعداد فی قیمت کل
1 سوپ سفید 101 3 1000 3000
2 سوپ قرمز 102 4 1000 3000
3 چلوبرگ 103 5 5000 25000
4 چلو ماهی 104 2 1000 2000
5 چلو خورشت 105 1 2000 2000



حالا کاربر دوباره کالای شماره 102 رو که در ردیف شماره 2بوده با مقدار 4 وارد میکنه اتفاقی که تو دیتا گرید میفته اینه

ردیف نام کالا کد کالا تعداد فی قیمت کل
1 سوپ سفید 101 3 1000 3000
2 سوپ قرمز 102 4 1000 3000
3 چلوبرگ 103 5 5000 25000
4 چلو ماهی 104 2 1000 2000
5 چلو خورشت 105 1 2000 2000
6 سوپ قرمز 102 4 2000 8000

ولی اصولی که باید باشه کالا م.ج.د در ردیف شماره 2 آپدیت بشه

ردیف نام کالا کد کالا تعداد فی قیمت کل
1 سوپ سفید 101 3 1000 3000
2 سوپ قرمز 102 8 1000 8000
3 چلوبرگ 103 5 5000 25000
4 چلو ماهی 104 2 1000 2000
5 چلو خورشت 105 1 2000 2000

و در نهایت اطلاعات گرید در دیتا بیس ذخیره بشه

لطفا راهنمایی بفرمائید

ali_md110
سه شنبه 19 اسفند 1393, 01:10 صبح
ابتدا توی گراید جستجو یزنید اگر رکوردی با رکورد جدید برابر بود فیلد مقدار رو با رقم جدید جمع بزنید و همون سطر به روز کنید
اگر از Ef استفاده میکنید از خاصیت local ObservableCollection و Navigation property ها میتونید استفاده کامل ببرید
معمولا وقتی دیتاگراید با لیست جنریک پر میشه میتونید توی همون لیست جنریک هم جستجو به روز رسانی انجام بدید