PDA

View Full Version : سوال: اعمال رنگ به سطرهای دیتاگرید ویو براساس شرط



amirhossein_z
پنج شنبه 07 فروردین 1399, 19:02 عصر
با سلام خدمت اساتید محترم ..
در پروژه WPF داخل یک فرم دیتاگرید ویو قرار داده شده که دارای ستون (نام کالا) ، (تعداد کالا) ، (تعداد مانده کالا) می باشد.
دیتاگرید به دیتابیس SQL متصل است.

نمی دونم چطور وقتی تعداد مانده یکی از کالاها صفر (0) شده ، کل سطر مربوط به همون کالا به رنگ مثلا قرمز نمایش داده بشه (البته هر سطر از کالایی که صفر شد)

هر چی کد برای این کار پیدا کردم فقط مربوط به Windows Form بود و داخل این پروژه ایراد می گیره

مثلا داخل این کد از عبارت Rows ، Cell ایراد می گیره چون اصلا وجود نداره داخل پیش فرضهای دستور

151505

البته یکی ، دو تا دیگه هم کد پیدا کردم ولی همه با پروژه WPF مشکل داشتن

taghvajou
پنج شنبه 07 فروردین 1399, 19:47 عصر
سلام
سوال؟ توی سوال گفت رنگ به کل سطر اعمال بشه ولی تو کد استایل به سلول دادین!
بهر حال چند کار میشه کرد:
شما row style رو باید مقدار دهی کنین.
یه براش بسازین و row.background رو مقدار بدین. و حتی میتونین مقدارش رو بایند کنین به یه ستر یا تریگر وقتی لود میشه خودش تغییر رنگ بده

amirhossein_z
پنج شنبه 07 فروردین 1399, 21:20 عصر
یه براش بسازین و row.background رو مقدار بدین. و حتی میتونین مقدارش رو بایند کنین به یه ستر یا تریگر وقتی لود میشه خودش تغییر رنگ بده[/QUOTE]




میشه لطفا در مورد روش دوم که فرمودید مقدار باین بشه و یه ستر یا تریگرد ، توضیح بیشتر یا در صورت امکان مثال می تونید بگید؟

amirhossein_z
جمعه 08 فروردین 1399, 00:28 صبح
بر اساس کمک دوست عزیز شرط رنگی کردن سطر در قسمت XAML وارد کردم

151506

taghvajou
جمعه 08 فروردین 1399, 17:04 عصر
سلام وقت بخیر

فرض کنیم میخوایم لیست ماشینهایی که تردد میکنن رو نشون بدیم که اونهایی که پلاک شهر دیگه ای دارند و کرونا دارن قرمز بشه ::لبخند:


<DataGrid AutoGenerateColumns="False" ItemsSource="EmployeeList">
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Setter Property="Background" Value="{Binding ColorSet}"/>
</Style>
</DataGrid.RowStyle>



کلاس ماشین:


public class Car {


public int Id { get; set; }


public string PlateColor { get; set; }


public Car() { }


public Car(int id)
{
Id = id;
if (id > 1000)
{
CarColor = "Red";
}
else
{
ColorSet = "White";
}
}
}


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