Merhaba Arkadaşlar
Bu makalemizde veritabanının herhangi bir tablosundan çektiğimiz verileri,oluşturduğumuz classlardaki fieldlara atıp,class tipinde bir liste içine topladıktan sonra,bu liste içinde nasıl işlemler yapabiliriz bunu göreceğiz.
Örnek vermek gerekirse;
-Aşağıdaki gibi bir haber tablomuz var
haberid |
baslik |
icerik |
durum |
1 |
Kodyazan |
deneme içerik |
1 |
Şimdi şöyle bir senaryomuz olsun,haberleri çekeceğimiz sayfada aktif ve pasif haberleri görebilelim.Aktif olanlar yeşil pasif olanların kırmızı gözüksün.(Bu renk işlemini örnek olarak div in clasına label-success verdiğimizde yeşil olarak gözütüğünü,label-warning verdiğimizde kırmızı gözüktüğünü varsayalım)
İlk olarak classımızı oluşturuyoruz.Veritabanından gelen haberleri bu classımızda oluşturduğumuz fieldlara atıp,listede toplayacağız.
public class yeniHaber
{
public int haberID { get; set; }
public string baslik { get; set; }
public string icerik { get; set; }
public string divclasimiz{ get; set; }
}
şimdi sırada listelerimizi oluşturmak ve foreach yapısı içinde veritabanından verilerimizi alıp oluşturduğumuz classa atamasını yapıp,class tipinde listede toplamak var.
List<Haber> list = db.Haber.ToList();
List<yeniHaber> yeniListe = new List<yeniHaber>();
foreach (var item in list)//db den gelen haberlerde dönüyoruz.
{
yeniHaber bil = new yeniHaber();
bil.haberID = item.haberID;
bil.baslik = item.baslik;
if(item.durum=1)
{
bil.divclasimiz= "label label-success";
}
else
bil.divclasimiz= "label label-warning";
item.icerik= item.icerik;
yeniListe.Add(bil); //classımızın tipindeki listeye atıyoruz
}
rpHaber.DataSource = yeniListe.ToList(); //class tipindeki listeyi bind ediyoruz.
rpHaber.DataBind();
Böylelikle gelen verilerimizi ara classta şekillendirip istediğimiz gibi takla attırabilir,uygun formatlarla bind edebiliriz.
İyi çalışmalar.