تغییر رنگ یک سطر یا متن در DataGrid در WPF با اعمال شرط
سلام خسته نباشید.
ببخشید من داخل WPF یک data gridView دارم که اطلاعات خودشو از دیتابیس میگیره.
الان میخوام روی این اطلاعات که از دیتابیس میاد شرط بزارم.
مثلا اطلاعات که از دیتابیس از فیلد TotalCost میاد اگر کوچکلتر از 500 بود بیاد کل اون سطر را یا رنگ نوشته هاش یا بک گروند را به قرمز تبدیل کنه.
و اگر ازین بزرگتر بود یه رنگ دیگه ای.
گوگل هرچه سرچ کردم از ویندوز فرم بود ولی متاسفانه از WPF چیزی ندیدم ممنون میشم راهنمایی کنید.
سلام دوست گرامی
شما چون شرطی که میخواهید اعمال کنید حالت محاسباتی داره باید ابتدا داخل دیتابیس و ویوی خودتون یک فیلد بسازید و شرط خودتون رو اونجا روی فیلد اعمال کنید و خروجی رو به صورت صفر و یک یا یک عدد دریافت کنید. برای اینکار در Sql Server از دستور select case استفاده کنید.
(select case when TotalCost > 500 then 1 when TotalCost < 500 then 2 end) as ColorID
در کد فوق ما گفتیم اگر مقدار TotalCost بزرگتر از 500 بود عدد 1 و اگر کوچکتر از 500 بود عدد 2 رو نمایش بده و نام این فیلد رو ColorID گذاشتیم.
حالا وارد نرم افزارتون بشید و در قسمت تگ دیتاگرید خودتون از کد <DataGrid.RowStyle> مطابق نمونه زیر استفاده کنید.
<DataGrid x:Name="MyDataGrid" IsReadOnly="True" Width="600" Height="400">
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Style.Triggers>
<DataTrigger Binding="{Binding ColorID}" Value="1">
<Setter Property="Background" Value="Red" />
</DataTrigger>
<DataTrigger Binding="{Binding ColorID}" Value="2">
<Setter Property="Background" Value="Green" />
</DataTrigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
</DataGrid>
توی کد بالا گفتیم که اگر مقدار فیلد ColorID برابر بود با عدد 1 کل ردیف قرمز بشه و اگر برابر بود با عدد 2 کل ردیف سبز بشه
می توانید از کنترل های همگام سازی WPF Datagrid استفاده کنید.
https://www.syncfusion.com/wpf-controls/datagrid
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- نمایش صفحه در پنجره جدید با کلیک روی لینک (تگ a) در Asp
- افزودن مقادیر به صورت دستی به List دریافت شده از ریپازیتوری
- مشکل تاریخ شمسی در سی شارپ
- نمایش گزارش stimulsoft روی کلاینت
- تفاوت های سی شارپ 8 با نسخه های قبلی چیه؟
- انتخاب چند سطر دلخواه توسط چک باکس در DataGrid و محاسبه جمع سطرهای انتخاب شده
- نمایش نوتیفکیشن در سی شارپ
- ارسال پارامتر از سی شارپ به استیمول سافت
- عدم نمایش عکس در دیتاگرید ویو در wpf
- Library Animation برای کنترلهای WPF
- مشکل در تغییر مقدار Text کنترل RibbonBar در کامپوننت DevExpress
- قرار دادن مقادیر ارسالی یک ستون از جدول به صورت سطری در استیمول