Şimdi ise datalist üzerinde basit bir işlem daha gerçekleştireceğiz. senaryomuz şu şekilde: diyelim ki iki tarih arasındaki faturaları listeledik ve mahsup edilenleri yeşil mahsup edilmeyenleri ise kırmızı renkli görmek istiyoruz. Bunun için öncelikle kıyaslama yapacağımız sütunu bir değişkene atıyoruz. Tabloda görülmeyecek bir değişken ise visible'ını false yapınız.
Yine datalist'imizin ItemDataBound event'ine kodlarımızı yazıyoruz.
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
if
(((Label)e.Item.FindControl("LBLmahsup")).Text == "True")
((Label)e.Item.FindControl("LBLcariadi")).ForeColor = System.Drawing.Color.Green;
else
((Label)e.Item.FindControl("LBLcariadi")).ForeColor = System.Drawing.Color.Red;
}
Bunun dışında ise tasarım tarafında da ayarlama yapabiliriz.
<asp:Label ID="LBLcariadi" runat="server" Text='<%#Eval("CARIADI") %>'
ForeColor='<%#Eval("DURUM").ToString()=="2"? System.Drawing.Color.Green:System.Drawing.Color.Red %>'></asp:Label>
Buradaki kodumuz da ise durum sütununda 2 olanları yeşil renkli diğerlerini ise 3 kırmızı renkli yap diyoruz..
Bunun dışında sadece 2 koşul için değil daha fazla koşul içinde kullanabiliriz Renk özelliğinin yanı sıra cssclass özelliğinde de kullanabiliriz. Diyelim ki listemizdeki taleplerin öncelik durumu olsun, bunlar da normal, acil ve çok acil olmak üzere 3 çeşit olsun. Öncelik tipi normal olanlar yeşil, acil olanlar sarı, çok aciller ise kırmızı listelensin. Burada css verirken bootstrap'ın css'lerini kullanıyorum. Ayrıca text özelliğinde de durumu aktif ise check işaret, değilse x işareti koyuyor.
<asp:Label ID="LBLdurum" runat="server"
Text='<%#Eval("Durum").ToString()=="Aktif"?"✓":" X " %>'
CssClass='<%#Eval("Durum").ToString()=="Aktif"?"label
label-success":"label
label-danger"
%>'></asp:Label>
Bu mantıktan yola çıkarak bu koşullandırmayı; tasarım tarafında datalist, gridview vb veri listeleme araçları içinde çeşitli yerlerde kullanabilirsiniz.
Herkese İyi Çalışmalar
Herkese İyi Çalışmalar