17 Ocak 2014 Cuma

LINQ orderby kullanımı

Amacımız butona basıldığında List koleksiyonumuzda bulunan kayıtlarımızı LINQ yardımı kullanarak datagridview üzerinde görünülemek.

1. Formumuz üzerine bir tane datagridview bir tane button ekleyelim. 
2. F7 tuşuna basarak kod yazım ekranına geçelim.
3. Aşağıdaki şekilde bir class yazalım.
        public class Kayit
        {
            public string isim { get; set; }
            public string dyeri { get; set; }
            public string cinsiyeti { get; set; }
            public int yasi { get; set; }
        }
4. Form üzerindeki butonumuzu tıklayıp içine
           //öncelikle Kayit tipinde bir Generic List tanımlayıp içerisini aşağıdaki şekilde dolduruyoruz.
            List<Kayit>  KayitListesi = new List<Kayit>
            { 
                new Kayit {isim = "Ali", dyeri = "Bursa", cinsiyeti = "Erkek", yasi = 20},
                new Kayit {isim = "Ayşe", dyeri = "İzmir", cinsiyeti = "Bayan", yasi = 10},
                new Kayit {isim = "Veli", dyeri = "Bursa", cinsiyeti = "Erkek", yasi = 30},
                new Kayit {isim = "Cem", dyeri = "Bursa", cinsiyeti = "Erkek", yasi = 15},
                new Kayit {isim = "Can", dyeri = "Bursa", cinsiyeti = "Erkek", yasi = 18},
                new Kayit {isim = "Mine", dyeri = "İzmir", cinsiyeti = "Bayan", yasi = 18},
                new Kayit {isim = "Oya", dyeri = "Bursa", cinsiyeti = "Bayan", yasi = 11},
                new Kayit {isim = "Metin", dyeri = "Bursa", cinsiyeti = "Erkek", yasi = 23},
                new Kayit {isim = "Ayça", dyeri = "Bursa", cinsiyeti = "Bayan", yasi = 25},
                new Kayit {isim = "Ayşe", dyeri = "Van", cinsiyeti = "Bayan", yasi = 34}
            };
            // KayıtListesi koleksiyonundaki kayıtların hepsini yasi degiskenindeki değerine göre küçükten büyüğe sıralayarak liste değişkenimize aktarıyoruz.
            var liste = from x in KayitListesi  orderby x.yasi select x;
            // ve datagridview içerisinde aşağıdaki şekilde görüntülenmesini sağlıyoruz.
            dataGridView1.DataSource = liste.ToList();

yasi küçükten büyüğe göre sıralayabilmek için
       var liste = from x in KayitListesi orderby x.yasi select x;

yasi büyükten küçüğe göre sıralayabilmek için
       var liste = from x in KayitListesi orderby x.yasi descending select x;

doğum yeri ve isme göre sıralama yapabilmek için
       var liste = from x in KayitListesi orderby x.dyeri, x.isim descending select x;

şeklinde kullanımları mümkündür.

Hiç yorum yok:

Yorum Gönder