آخرین فرصت تا %60 تخفیف خرید یکجای دوره ها برای 2 نفر فقط تا
00 00 00
amirhossein_z

اعمال رنگ به یک سطر خاص در دیتاگرید ویو WPF سی شارپ

با سلام خدمت اساتید محترم سایت.

در برنامه سی شارپ یک صفحه به صورت WPF درست کردم که داخل این صفحه یک دیتاگرید ویو (dataGrid_S) متصل به دیتابیس SQL متصل شده

ستون اول نام کالا ، ستون دوم تعداد کالا و ستون سوم تعداد مانده کالا می باشد.

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

هدف اصلی اینه که وقتی تعداد مانده کالا صفر شد ، رنگ کل سطر قرمز بشه.

کلی مطلب داخل اینترنت پیدا کردم ولی همه برای حالت ویندوز فرم هست و برای WPF کاربردی نداره.

از همون خط اول Rows ایراد میگیره

لذت یادگیری با توسینسو
به عنوان شخصی که مدت هاست از سایت توسینسو استفاده می کنم باید بگم که واقعاً یکی از بهترین مرجع ها برای ارتقاء دانش شخصی هست. دوره های سایت، راهکارها و مطالب، همگی عالی هستند.
علی آقامیری

خطا چی هست دقیقا ؟ 

در ابتدای load این خطا رو میگیرید ؟

 

** هیچ اگر سایه پذیرد ، منم آن سایه هیچ **
amirhossein_z

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

البته در ابتدای فرم using System.Windows.Forms فراخوانی کردم ولی مشکل حل نمیشه

علی آقامیری

فکر کنم باید از items به جای rows استفاده کنید.

اینجوری بنویسیدش که خودش نوعش رو مشخص کنه :

var row in datGrid.Items

 

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

** هیچ اگر سایه پذیرد ، منم آن سایه هیچ **
amirhossein_z

برای اینکه مقادیر داخل سطر بدون مشخص بودن مقدار ID نام کالا در هر سطر از جدول به فرم دیگر بفرستم

در قسمت Properties مربوط به دیتاگرید حالت انتخاب روی FullSelected قرار دادم و یک Button در همان فرم دیتاگرید

در قسمت کلیک Button یک متغیر dynamic به صورت زیر نوشتم

;[dynamic selectedItem = dataGrid_S.SelectedItems[0

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

فرم اصلی هم ریف رش میشه و باقی مانده کالا رو نشون میده.

فقط قصدم اینه که وقتی تعداد کالا - 0 - شد حالا هر تعداد سطر باشه ... اون سطرها قرمز رنگ بشن.

 

اون راهنمایی شمارو هم انجام دادم ولی باقی از دستور ایراد می گیره. فکر کنم احتمالا نمی تونه به شکل خودکار کل سطرهای داخل جدول برای مقدار صفر در ستون باقی کالا بررسی کنه.

 

اگر امکانش هست بر اساس اطلاعات و تجربیات خودتون یه مثال دستوری بنویسید... مرسی

علی آقامیری

من تو wpf باهاش کار نکردم ،  خطایی که میگیرید بدید ، ولی قاعدتا هم با اون کد من هم با کد خودتون معلومه که rows نداره و باید با items کار کنید.

** هیچ اگر سایه پذیرد ، منم آن سایه هیچ **
amirhossein_z

بالاخره پیداش کردم.

چون کار در WPF هست باید شرط در قسمت XAML اعمال کرد

پاسخ شما
برای ارسال پاسخ خود وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر