28 Ocak 2014 Salı
DataTable içerisindeki kayıtları distinct ile tekil hale getirme
var stsil =
dtLISTE.AsEnumerable().Select(row => new {dyeri = row.Field<string>("DOGUMYERI")})
.Distinct();
26 Ocak 2014 Pazar
devexpress TileControl kullanımı
Toolbar da bulunan Navigation & Layout sekmesindeki TileControl kontrolü ile Windows 8 menüsüne benzer menüler yapmanız mümkündür. Bunun için yapmanız gerekenler çok basit
1. Formunuza bir tane TileControl kontrolü ekleyin.
2. Eklediğiniz kontrolü tıklayıp Mouse un sağ tuşuna basarak Add Group seçeneği ile bir grup ekleyin.
3. Eklediğiniz grubu seçip (Mouse ile tıklayıp) Mouse un sağ tuşuna basarak grup içerisine Add Item veya Add Large Item seçeneklerine basarak menü tuşlarını oluşturup kullanabilirsiniz. Kaç tane butona ihtiyacınız varsa o kadar eklemeniz yeterli.
4. Her buton içerisine Image ve text metin yazmanız mümkün (buton kontrolü gibi)
Eğer bu işlemi menüden değilde kodlar ile yapmak isterseniz.
1. Ekrana bir tane buton ve bir tane TileControl kontrolü ekleyip TileControl içerisine Add Group ile bir tane grup ekleyin.
2. Eklediğimiz butonu çift tıklayarak içerisine bu grup içerisinde olmasını istediğimiz itemleri ekleyen kodlarımızı aşağıdaki şekilde yazın.
DevExpress.XtraEditors.TileItem tus1 = new DevExpress.XtraEditors.TileItem();
tus1.Name = "Tus1";
tus1.Text = "kam";
tus1.ItemClick += new DevExpress.XtraEditors.TileItemClickEventHandler(tus1_ItemClick);
tileGroup1.Items.Add(x1);
private void Tus1_ItemClick(object sender, DevExpress.XtraEditors.TileItemEventArgs e)
{
MessageBox.Show(e.Item.Name);
}
1. Formunuza bir tane TileControl kontrolü ekleyin.
2. Eklediğiniz kontrolü tıklayıp Mouse un sağ tuşuna basarak Add Group seçeneği ile bir grup ekleyin.
3. Eklediğiniz grubu seçip (Mouse ile tıklayıp) Mouse un sağ tuşuna basarak grup içerisine Add Item veya Add Large Item seçeneklerine basarak menü tuşlarını oluşturup kullanabilirsiniz. Kaç tane butona ihtiyacınız varsa o kadar eklemeniz yeterli.
4. Her buton içerisine Image ve text metin yazmanız mümkün (buton kontrolü gibi)
Eğer bu işlemi menüden değilde kodlar ile yapmak isterseniz.
1. Ekrana bir tane buton ve bir tane TileControl kontrolü ekleyip TileControl içerisine Add Group ile bir tane grup ekleyin.
2. Eklediğimiz butonu çift tıklayarak içerisine bu grup içerisinde olmasını istediğimiz itemleri ekleyen kodlarımızı aşağıdaki şekilde yazın.
DevExpress.XtraEditors.TileItem tus1 = new DevExpress.XtraEditors.TileItem();
tus1.Name = "Tus1";
tus1.Text = "kam";
tus1.ItemClick += new DevExpress.XtraEditors.TileItemClickEventHandler(tus1_ItemClick);
tileGroup1.Items.Add(x1);
private void Tus1_ItemClick(object sender, DevExpress.XtraEditors.TileItemEventArgs e)
{
MessageBox.Show(e.Item.Name);
}
23 Ocak 2014 Perşembe
Devexpress gridControl ü yazıcıya yazdırma
Yeni bir proje açıp formumuzun üzerine bir tane GridControl bir tane Button kontrolü ekleyelim.
butonnun click eventina aşağıdaki kodları yazalım.
SqlConnection sc = new SqlConnection(@"Server = server_adi; user = sql_kullanici_adi; pwd = sifreniz; database = veri_tabani_adi;");
SqlCommand cmd = new SqlCommand("Select * from Musteriler ", sc);
DataTable dtCariler = new DataTable();
sc.Open();
dtCariler.Load(cmd.ExecuteReader());
gridControl1.DataSource = dtCariler;
//sorgu sonucunda dönen tüm kolonları gridview içerisinde görüntülenmesini aşağıdaki kod sağlar
gridView1.PopulateColumns();
gridView1.Columns[0].Caption = "Müşteri Kodu";
gridView1.Columns[1].Caption = "Müşteri Adı";
gridView1.Columns[2].Caption = "Müşteri Telefonu";
sc.Close();
Formumuza ikinci bir buton ekleyip onun click eventınada aşağıdaki kodu yazalım
gridControl1.ShowPrintPreview();
butonnun click eventina aşağıdaki kodları yazalım.
SqlConnection sc = new SqlConnection(@"Server = server_adi; user = sql_kullanici_adi; pwd = sifreniz; database = veri_tabani_adi;");
SqlCommand cmd = new SqlCommand("Select * from Musteriler ", sc);
DataTable dtCariler = new DataTable();
sc.Open();
dtCariler.Load(cmd.ExecuteReader());
gridControl1.DataSource = dtCariler;
//sorgu sonucunda dönen tüm kolonları gridview içerisinde görüntülenmesini aşağıdaki kod sağlar
gridView1.PopulateColumns();
gridView1.Columns[0].Caption = "Müşteri Kodu";
gridView1.Columns[1].Caption = "Müşteri Adı";
gridView1.Columns[2].Caption = "Müşteri Telefonu";
sc.Close();
Formumuza ikinci bir buton ekleyip onun click eventınada aşağıdaki kodu yazalım
gridControl1.ShowPrintPreview();
20 Ocak 2014 Pazartesi
LINQ where
Linq ile kayıtları filtrelemek için where kelimesi kullanılabilir.
public class Kayit
{
public string isim { get; set; }
public string dyeri { get; set; }
public string cinsiyeti { get; set; }
public int yasi { get; set; }
}
yine bir buton ve datagridview ekleyip forma butonun click eventına
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}
};
//A ile başlayan isimleri seçer.
var liste = from x in KayitListesi where x.isim.StartsWith("A") select x;
dataGridView1.DataSource = liste.ToList();
//ismi 5 harften oluşan kayıtları seçer
var liste = from x in KayitListesi where x.isim.Length == 5 select x;
dataGridView1.DataSource = liste.ToList();
//sonu i ile biten isimleri seçer.
var liste = from x in KayitListesi where x.isim.EndsWith("i") select x;
dataGridView1.DataSource = liste.ToList();
public class Kayit
{
public string isim { get; set; }
public string dyeri { get; set; }
public string cinsiyeti { get; set; }
public int yasi { get; set; }
}
yine bir buton ve datagridview ekleyip forma butonun click eventına
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}
};
//A ile başlayan isimleri seçer.
var liste = from x in KayitListesi where x.isim.StartsWith("A") select x;
dataGridView1.DataSource = liste.ToList();
//ismi 5 harften oluşan kayıtları seçer
var liste = from x in KayitListesi where x.isim.Length == 5 select x;
dataGridView1.DataSource = liste.ToList();
//sonu i ile biten isimleri seçer.
var liste = from x in KayitListesi where x.isim.EndsWith("i") select x;
dataGridView1.DataSource = liste.ToList();
IENumerable - LINQ - Take - Skip
Formumuza bir buton bir datagridview koyalım.
public class Kayit
{
public string isim { get; set; }
public string dyeri { get; set; }
public string cinsiyeti { get; set; }
public int yasi { get; set; }
}
butonumuzun click eventına
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}
};
IEnumerable<Kayit> liste = KayitListesi.Take(4); //ilk 4 kaydı alır.
dataGridView1.DataSource = liste.ToList();
IEnumerable<Kayit> liste = KayitListesi.Skip(2); //ilk 2 kayıttan sonraki kayıtları alır dataGridView1.DataSource = liste.ToList();
public class Kayit
{
public string isim { get; set; }
public string dyeri { get; set; }
public string cinsiyeti { get; set; }
public int yasi { get; set; }
}
butonumuzun click eventına
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}
};
IEnumerable<Kayit> liste = KayitListesi.Take(4); //ilk 4 kaydı alır.
dataGridView1.DataSource = liste.ToList();
IEnumerable<Kayit> liste = KayitListesi.Skip(2); //ilk 2 kayıttan sonraki kayıtları alır dataGridView1.DataSource = liste.ToList();
17 Ocak 2014 Cuma
LINQ ile kayıtlarda SUM, MAX,MIN kullanımı
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}
};
var liste = from x in KayitListesi select x.yasi;
MessageBox.Show(liste.Sum().ToString());
MessageBox.Show(liste.Min().ToString());
MessageBox.Show(liste.Max().ToString());
MessageBox.Show(liste.Count().ToString());
MessageBox.Show(liste.Average().ToString());
MessageBox.Show(liste.Sum().ToString());
MessageBox.Show(liste.Min().ToString());
MessageBox.Show(liste.Max().ToString());
MessageBox.Show(liste.Count().ToString());
MessageBox.Show(liste.Average().ToString());
LINQ group kullanımı
Amacımız butona basıldığında List koleksiyonumuzda bulunan kayıtlarımızı LINQ yardımı kullanarak datagridview üzerinde görüntü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ı doğum yerine göre gruplayarak liste değişkenine aktarmak için group ifadesini kullanıyoruz.
var liste = from x in KayitListesi group by x.dyeri;
var liste = from x in KayitListesi group by x.dyeri;
// ve datagridview içerisinde aşağıdaki şekilde görüntülenmesini sağlıyoruz.
dataGridView1.DataSource = liste.ToList();
dediğimizde datagridview içerisinde sadece
Bursa
İzmir
Van
ifadesi görünür.
eğer gruplanan veriyi sıralamak istersek aşağıdaki şekilde yapabiliriz.
var liste = from x in KayitListesi orderby x.dyeri descending group by x.dyeri;
hem gruplama, hem sıralama hemde filitre konulabilmektedir.
var liste = from x in KayitListesi orderby x.dyeri descending where x.cinsiyeti == "Erkek" group by x.dyeri;
dediğimizde datagridview içerisinde sadece
Bursa
İzmir
Van
ifadesi görünür.
eğer gruplanan veriyi sıralamak istersek aşağıdaki şekilde yapabiliriz.
hem gruplama, hem sıralama hemde filitre konulabilmektedir.
var liste = from x in KayitListesi orderby x.dyeri descending where x.cinsiyeti == "Erkek" group by x.dyeri;
LINQ where kullanımı
Amacımız butona basıldığında List koleksiyonumuzda bulunan kayıtlarımızı LINQ yardımı kullanarak datagridview üzerinde görüntü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ıtlardan doğum yeri Bursa olan kayıtları liste değişkenine aktarmak için where ifadesini kullanıyoruz.
var liste = from x in KayitListesi where x.dyeri = "Bursa" select x;
var liste = from x in KayitListesi where x.dyeri = "Bursa" select x;
// ve datagridview içerisinde aşağıdaki şekilde görüntülenmesini sağlıyoruz.
dataGridView1.DataSource = liste.ToList();
Eğer birden fazla şart kullanılacak ise araya gerekli bağlaçları ekleyerek birden fazla koşul belirtebiliriz.
Mesela 20 yaşından büyük Erkeklerin listesini alabilmek için;
var liste = from x in KayitListesi where x.cinsiyeti == "Erkek" && x.yasi > 20 select x;
Koşula ek olarak orderby ifadesi ile sıralama yapmakta mümkündür.
var liste = from x in KayitListesi where x.cinsiyeti == "Erkek" && x.yasi > 20 orderby yasi select x;
Eğer birden fazla şart kullanılacak ise araya gerekli bağlaçları ekleyerek birden fazla koşul belirtebiliriz.
Mesela 20 yaşından büyük Erkeklerin listesini alabilmek için;
var liste = from x in KayitListesi where x.cinsiyeti == "Erkek" && x.yasi > 20 select x;
Koşula ek olarak orderby ifadesi ile sıralama yapmakta mümkündür.
var liste = from x in KayitListesi where x.cinsiyeti == "Erkek" && x.yasi > 20 orderby yasi select x;
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.
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.
Linq Örnekleri - 1
Hem unutmayalım hemde lazım olduğunda çabuk bulabilmek için basit linq örneklerini bloga eklemek istedim.
Çok basit bir örnek ile yola çıktı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 liste değişkenimize aktarıyoruz.
var liste = from x in KayitListesi select x;
// ve datagridview içerisinde aşağıdaki şekilde görüntülenmesini sağlıyoruz.
dataGridView1.DataSource = liste.ToList();
16 Ocak 2014 Perşembe
Devexpress gridControl kolonları ile çalışmak
Yeni bir proje açıp formumuzun üzerine bir tane GridControl bir tane Button kontrolü ekleyelim.
butonnun click eventina aşağıdaki kodları yazalım.
SqlConnection sc = new SqlConnection(@"Server = server_adi; user = sql_kullanici_adi; pwd = sifreniz; database = veri_tabani_adi;");SqlCommand cmd = new SqlCommand("Select * from Musteriler ", sc);DataTable dtCariler = new DataTable();sc.Open();dtCariler.Load(cmd.ExecuteReader());
gridControl1.DataSource = dtCariler;//sorgu sonucunda dönen tüm kolonları gridview içerisinde görüntülenmesini aşağıdaki kod sağlar
gridView1.PopulateColumns();
gridView1.Columns[0].Caption = "ilk kolonun başlığı";
gridView1.Columns[0].Width = 200; //kolon genişliği
gridView1.Columns[0].Visible = true; //kolonun görüntülenip görüntülenmeyeceği.
sc.Close();
butonnun click eventina aşağıdaki kodları yazalım.
SqlConnection sc = new SqlConnection(@"Server = server_adi; user = sql_kullanici_adi; pwd = sifreniz; database = veri_tabani_adi;");SqlCommand cmd = new SqlCommand("Select * from Musteriler ", sc);DataTable dtCariler = new DataTable();sc.Open();dtCariler.Load(cmd.ExecuteReader());
gridControl1.DataSource = dtCariler;//sorgu sonucunda dönen tüm kolonları gridview içerisinde görüntülenmesini aşağıdaki kod sağlar
gridView1.PopulateColumns();
gridView1.Columns[0].Caption = "ilk kolonun başlığı";
gridView1.Columns[0].Width = 200; //kolon genişliği
gridView1.Columns[0].Visible = true; //kolonun görüntülenip görüntülenmeyeceği.
sc.Close();
Devexpress gridControl içerisinde kayıtları görüntüleme
Yeni bir proje açıp formumuzun üzerine bir tane GridControl bir tane Button kontrolü ekleyelim.
butonnun click eventina aşağıdaki kodları yazalım.
SqlConnection sc = new SqlConnection(@"Server = server_adi;
user = sql_kullanici_adi;
pwd = sifreniz;
database = veri_tabani_adi;");
SqlCommand cmd = new SqlCommand("Select * from Musteriler ", sc);
DataTable dtCariler = new DataTable();
sc.Open();
dtCariler.Load(cmd.ExecuteReader());
gridControl1.DataSource = dtCariler;
user = sql_kullanici_adi;
pwd = sifreniz;
database = veri_tabani_adi;");
SqlCommand cmd = new SqlCommand("Select * from Musteriler ", sc);
DataTable dtCariler = new DataTable();
sc.Open();
dtCariler.Load(cmd.ExecuteReader());
gridControl1.DataSource = dtCariler;
gridView1.PopulateColumns(); //sorgu sonucunda dönen tüm kolonları gridview içerisinde görüntülenmesini sağlar.sc.Close();
Sonraki çalışmamızda GridControl ile ilgili biraz daha detaya gireceğiz.
15 Ocak 2014 Çarşamba
Formu içerinde tuş kombinasyonlarına göre işlem yapma (Alt , Ctrl ...)
Bazen form içerisinde bir veya birden fazla tuşa basarak işlem yapmak isteyebiliriz. Bu durum da öncelikle formun keypreview özelliğini true yapıp sonra keydown eventına aşağıdaki kodları yazmamız yeterli olacaktır.
if (e.KeyCode == Keys.V)
{
MessageBox.Show("V Tuşuna basıldı");
}
if (e.KeyCode == Keys.V && e.Alt)
{
MessageBox.Show("Alt V Tuşuna basıldı");
}
if (e.KeyCode == Keys.V && e.Alt && e.Control)
{
MessageBox.Show("Ctrl Alt V Tuşuna basıldı");
if (e.KeyCode == Keys.V)
{
MessageBox.Show("V Tuşuna basıldı");
}
if (e.KeyCode == Keys.V && e.Alt)
{
MessageBox.Show("Alt V Tuşuna basıldı");
}
if (e.KeyCode == Keys.V && e.Ctrl )
{
MessageBox.Show("Ctrl V Tuşuna basıldı");
}
{
MessageBox.Show("Ctrl V Tuşuna basıldı");
}
{
MessageBox.Show("Ctrl Alt V Tuşuna basıldı");
}
9 Ocak 2014 Perşembe
DataGridView içerisinde seçili kaydın kolon değerleri nasıl alınır ?
dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells["kolonadi"].Value.ToString() ifadesi bulunduğumuz satırdaki belirtilen kolonun değerini verir.
8 Ocak 2014 Çarşamba
DataTable ı dolduran örnek method
Windows formunu açıp editör kısmına aşağıdaki kodları yazıyoruz.
SqlConnection sc = new SqlConnection("Server = server_adı;
user = sql_kullanıcı_adı;
pwd = şifresi;
database = veri_tabanı;");
public Form1()
{
InitializeComponent();
}
private static DataTable GetData(string sorgu, SqlConnection baglanti)
{
DataTable dtGecici = new DataTable();
SqlCommand cmd = new SqlCommand(sorgu, baglanti);
if (baglanti.State == ConnectionState.Broken ||
baglanti.State == ConnectionState.Closed) baglanti.Open();
dtGecici.Load(cmd.ExecuteReader());
cmd.Dispose();
return dtGecici;
}
veya SqlDataAdapter ile aşağıdaki şekilde de yapılabilir.
private static DataTable GetData(string sorgu, SqlConnection baglanti)
{
DataTable dtGecici = new DataTable();
SqlDataAdapter sda = new SqlDataAdapter(sorgu, baglanti);
if (baglanti.State == ConnectionState.Broken ||
baglanti.State == ConnectionState.Closed) baglanti.Open();
sda.Fill(dtGecici);
sda.Dispose();
return dtGecici;
}
form üzerine bir tane dataGridView bir tane buton ekleyip click eventına (butonu çift tıklayıp açılan ekrana) aşağıdaki kodları yazarak methodumuzu kullanabiliriz.
DataTable dtYeni = GetData("Select * FROM musteriler", sc);
dataGridView1.DataSource = dtYeni;
SqlConnection sc = new SqlConnection("Server = server_adı;
user = sql_kullanıcı_adı;
pwd = şifresi;
database = veri_tabanı;");
public Form1()
{
InitializeComponent();
}
private static DataTable GetData(string sorgu, SqlConnection baglanti)
{
DataTable dtGecici = new DataTable();
SqlCommand cmd = new SqlCommand(sorgu, baglanti);
if (baglanti.State == ConnectionState.Broken ||
baglanti.State == ConnectionState.Closed) baglanti.Open();
dtGecici.Load(cmd.ExecuteReader());
cmd.Dispose();
return dtGecici;
}
veya SqlDataAdapter ile aşağıdaki şekilde de yapılabilir.
private static DataTable GetData(string sorgu, SqlConnection baglanti)
{
DataTable dtGecici = new DataTable();
SqlDataAdapter sda = new SqlDataAdapter(sorgu, baglanti);
if (baglanti.State == ConnectionState.Broken ||
baglanti.State == ConnectionState.Closed) baglanti.Open();
sda.Fill(dtGecici);
sda.Dispose();
return dtGecici;
}
form üzerine bir tane dataGridView bir tane buton ekleyip click eventına (butonu çift tıklayıp açılan ekrana) aşağıdaki kodları yazarak methodumuzu kullanabiliriz.
DataTable dtYeni = GetData("Select * FROM musteriler", sc);
dataGridView1.DataSource = dtYeni;
Veritabanından Okunan Kayıtları DataTable içerisine alma
SqlConnection sc = new SqlConnection(@"Server = server_adi;
user = sql_kullanici_adi;
pwd = sifreniz;
database = veri_tabani_adi;");
SqlCommand cmd = new SqlCommand("Select * from Cariler ", sc);
DataTable dtCariler = new DataTable();
sc.Open();
dtCariler.Load(cmd.ExecuteReader());
dataGridView1.DataSource = dtCariler;
sc.Close();
veya SqlDataAdapter kullanılarak da aşağıdaki şekilde yapılabilir
SqlConnection sc = new SqlConnection(@"Server = server_adi;
user = sql_kullanici_adi;
pwd = sifreniz;
database = veri_tabani_adi;");
SqlDataAdapter sda = new SqlDataAdapter("Select * from Cariler ", sc);
DataTable dtCariler = new DataTable();
sc.Open();
sda.Fill(dtCariler);
dataGridView1.DataSource = dtCariler;
sc.Close();
user = sql_kullanici_adi;
pwd = sifreniz;
database = veri_tabani_adi;");
SqlCommand cmd = new SqlCommand("Select * from Cariler ", sc);
DataTable dtCariler = new DataTable();
sc.Open();
dtCariler.Load(cmd.ExecuteReader());
dataGridView1.DataSource = dtCariler;
sc.Close();
veya SqlDataAdapter kullanılarak da aşağıdaki şekilde yapılabilir
SqlConnection sc = new SqlConnection(@"Server = server_adi;
user = sql_kullanici_adi;
pwd = sifreniz;
database = veri_tabani_adi;");
SqlDataAdapter sda = new SqlDataAdapter("Select * from Cariler ", sc);
DataTable dtCariler = new DataTable();
sc.Open();
sda.Fill(dtCariler);
dataGridView1.DataSource = dtCariler;
sc.Close();
6 Ocak 2014 Pazartesi
XML dosyasını DataTable a aktarma
DataTable dt = new DataTable();
dt.ReadXmlSchema(@"c:\isimler.xml");
dt.ReadXml(@"c:\isimler.xml");
dataGridView1.DataSource = dt;
dt.ReadXmlSchema(@"c:\isimler.xml");
dt.ReadXml(@"c:\isimler.xml");
dataGridView1.DataSource = dt;
DataTable ı kayıt deseni ile birlikte xml olarak kayıt etme
dtisim.WriteXml(@"c:\isimler.xml", XmlWriteMode.WriteSchema);
DataView deki kayıtları DataTable a aktarma
DataView dv = new DataView(dtisim);
dv.RowFilter = "Dyeri = 'Bursa'";
DataTable dtYeni = dv.ToTable(true);
dataGridView1.DataSource = dtYeni;
dv.RowFilter = "Dyeri = 'Bursa'";
DataTable dtYeni = dv.ToTable(true);
dataGridView1.DataSource = dtYeni;
DataView içerisinde kayıt arayıp bulma
DataView dv = new DataView(dtisim); //dtisimi daha önceki yayınlardan alıp oluşturabilirsiniz.
dv.Sort = "Adi, Dyeri"; //Arama yapabilmek önce sarayacağımız alanlara göre sıralamamız gerekir
DataRowView[] kyt = dv.FindRows(new Object[] {"Mine","Bursa"});
foreach (DataRowView dr in kyt)
{
MessageBox.Show(dr["SiraNo"].ToString());
}
dv.Sort = "Adi, Dyeri"; //Arama yapabilmek önce sarayacağımız alanlara göre sıralamamız gerekir
DataRowView[] kyt = dv.FindRows(new Object[] {"Mine","Bursa"});
foreach (DataRowView dr in kyt)
{
MessageBox.Show(dr["SiraNo"].ToString());
}
DataTable ı DataView e aktarma
DataTable daki kayıtları dataview e aşağıdaki şekilde aktarıp DataView in RowFilter özelliğini kullanarak kayıtları filtrelememiz mümkündür.
DataView dv = new DataView(dtisim);
dv.RowFilter = "Yasi > 25";
dataGridView1.DataSource = dv;
DataView dv = new DataView(dtisim);
dv.RowFilter = "Yasi > 25";
dataGridView1.DataSource = dv;
5 Ocak 2014 Pazar
DataTable Sum,, Avg, Count, Max, Min Kullanımı
DataTable dtisim = new DataTable("isimler");
dtisim.Columns.Add("SiraNo", typeof(int));
dtisim.Columns.Add("Adi", typeof(string));
dtisim.Columns.Add("Dyeri", typeof(string));
dtisim.Columns.Add("Yasi", typeof(int));
dtisim.PrimaryKey = new DataColumn[] { dtisim.Columns["SiraNo"] };
dtisim.Columns["SiraNo"].AutoIncrement = true;
DataColumn kolon = new DataColumn();
kolon.ColumnName = "YasToplami";
kolon.DataType = typeof(string);
kolon.Expression = "Sum(Yasi)"; //Sum ile alanları Yasi alanını toplar.
//sum yerine Sum,Avg,Min,Max,Count,StDev,Var da kullanılabilir.
dtisim.Columns.Add(kolon);
dataGridView1.DataSource = dtisim;
DataRow kayit = dtisim.NewRow();
kayit["Adi"] = "Kamuran";
kayit["Dyeri"] = "Bursa";
kayit["Yasi"] = 20;
dtisim.Rows.Add(kayit);
kayit = dtisim.NewRow();
kayit["Adi"] = "Veli";
kayit["Dyeri"] = "Çanakkale";
kayit["Yasi"] = 30;
dtisim.Rows.Add(kayit);
dtisim.Rows.Add(new object[] {null,"Can","İzmir",25 });
dtisim.Columns.Add("SiraNo", typeof(int));
dtisim.Columns.Add("Adi", typeof(string));
dtisim.Columns.Add("Dyeri", typeof(string));
dtisim.Columns.Add("Yasi", typeof(int));
dtisim.PrimaryKey = new DataColumn[] { dtisim.Columns["SiraNo"] };
dtisim.Columns["SiraNo"].AutoIncrement = true;
DataColumn kolon = new DataColumn();
kolon.ColumnName = "YasToplami";
kolon.DataType = typeof(string);
kolon.Expression = "Sum(Yasi)"; //Sum ile alanları Yasi alanını toplar.
//sum yerine Sum,Avg,Min,Max,Count,StDev,Var da kullanılabilir.
dtisim.Columns.Add(kolon);
dataGridView1.DataSource = dtisim;
DataRow kayit = dtisim.NewRow();
kayit["Adi"] = "Kamuran";
kayit["Dyeri"] = "Bursa";
kayit["Yasi"] = 20;
dtisim.Rows.Add(kayit);
kayit = dtisim.NewRow();
kayit["Adi"] = "Veli";
kayit["Dyeri"] = "Çanakkale";
kayit["Yasi"] = 30;
dtisim.Rows.Add(kayit);
dtisim.Rows.Add(new object[] {null,"Can","İzmir",25 });
DataTable Expression IIF Kullanımı
DataTable dtisim = new DataTable();
dtisim.Columns.Add("SiraNo", typeof(int));
dtisim.Columns.Add("Adi", typeof(string));
dtisim.Columns.Add("Dyeri", typeof(string));
dtisim.Columns.Add("Yasi", typeof(int));
dtisim.PrimaryKey = new DataColumn[] { dtisim.Columns["SiraNo"] };
dtisim.Columns["SiraNo"].AutoIncrement = true;
// Yeni bir kolon tanımladık ve expression özelliğinde iif cümlesi kullandık.
DataColumn kolon = new DataColumn();
kolon.ColumnName = "YasToplami";
kolon.DataType = typeof(string);
kolon.Expression = "IIF(Yasi>=50,'Ortayaş', IIF(Yasi>=30,'Genç','Çocuk'))";
dtisim.Columns.Add(kolon);
dataGridView1.DataSource = dtisim;
DataRow kayit = dtisim.NewRow();
kayit["Adi"] = "Kamuran";
kayit["Dyeri"] = "Bursa";
kayit["Yasi"] = 20;
dtisim.Rows.Add(kayit);
kayit = dtisim.NewRow();
kayit["Adi"] = "Veli";
kayit["Dyeri"] = "Çanakkale";
kayit["Yasi"] = 30;
dtisim.Rows.Add(kayit);
dtisim.Rows.Add(new object[] {null,"Can","İzmir",25 });
dtisim.Columns.Add("SiraNo", typeof(int));
dtisim.Columns.Add("Adi", typeof(string));
dtisim.Columns.Add("Dyeri", typeof(string));
dtisim.Columns.Add("Yasi", typeof(int));
dtisim.PrimaryKey = new DataColumn[] { dtisim.Columns["SiraNo"] };
dtisim.Columns["SiraNo"].AutoIncrement = true;
// Yeni bir kolon tanımladık ve expression özelliğinde iif cümlesi kullandık.
DataColumn kolon = new DataColumn();
kolon.ColumnName = "YasToplami";
kolon.DataType = typeof(string);
kolon.Expression = "IIF(Yasi>=50,'Ortayaş', IIF(Yasi>=30,'Genç','Çocuk'))";
dtisim.Columns.Add(kolon);
dataGridView1.DataSource = dtisim;
DataRow kayit = dtisim.NewRow();
kayit["Adi"] = "Kamuran";
kayit["Dyeri"] = "Bursa";
kayit["Yasi"] = 20;
dtisim.Rows.Add(kayit);
kayit = dtisim.NewRow();
kayit["Adi"] = "Veli";
kayit["Dyeri"] = "Çanakkale";
kayit["Yasi"] = 30;
dtisim.Rows.Add(kayit);
dtisim.Rows.Add(new object[] {null,"Can","İzmir",25 });
DataTable Expression Özelliği
Expression özelliği tanımlı bir kolonda girilen veriler göz önüne alınarak hesaplama yapılıp kullanılan bir özellik kazandırılmış olur.
DataTable dtisim = new DataTable("isimler");
dtisim.Columns.Add("SiraNo", typeof(int));
dtisim.Columns.Add("Adi", typeof(string));
dtisim.Columns.Add("Dyeri", typeof(string));
dtisim.Columns.Add("Yasi", typeof(int));
dtisim.PrimaryKey = new DataColumn[] { dtisim.Columns["SiraNo"] };
dtisim.Columns["SiraNo"].AutoIncrement = true;
DataColumn kolon = new DataColumn();
kolon.ColumnName = "YasToplami";
kolon.DataType = typeof(int);
kolon.Expression = "Yasi * 3"; //Girilen yas rakamını 3 ile çarparak Yeni kolona veri girilmiş olur.
dtisim.Columns.Add(kolon);
dataGridView1.DataSource = dtisim;
DataRow kayit = dtisim.NewRow();
kayit["Adi"] = "Kamuran";
kayit["Dyeri"] = "Bursa";
kayit["Yasi"] = 20;
dtisim.Rows.Add(kayit);
kayit = dtisim.NewRow();
kayit["Adi"] = "Veli";
kayit["Dyeri"] = "Çanakkale";
kayit["Yasi"] = 30;
dtisim.Rows.Add(kayit);
dtisim.Rows.Add(new object[] {null,"Can","İzmir",25 });
DataTable dtisim = new DataTable("isimler");
dtisim.Columns.Add("SiraNo", typeof(int));
dtisim.Columns.Add("Adi", typeof(string));
dtisim.Columns.Add("Dyeri", typeof(string));
dtisim.Columns.Add("Yasi", typeof(int));
dtisim.PrimaryKey = new DataColumn[] { dtisim.Columns["SiraNo"] };
dtisim.Columns["SiraNo"].AutoIncrement = true;
DataColumn kolon = new DataColumn();
kolon.ColumnName = "YasToplami";
kolon.DataType = typeof(int);
kolon.Expression = "Yasi * 3"; //Girilen yas rakamını 3 ile çarparak Yeni kolona veri girilmiş olur.
dtisim.Columns.Add(kolon);
dataGridView1.DataSource = dtisim;
DataRow kayit = dtisim.NewRow();
kayit["Adi"] = "Kamuran";
kayit["Dyeri"] = "Bursa";
kayit["Yasi"] = 20;
dtisim.Rows.Add(kayit);
kayit = dtisim.NewRow();
kayit["Adi"] = "Veli";
kayit["Dyeri"] = "Çanakkale";
kayit["Yasi"] = 30;
dtisim.Rows.Add(kayit);
dtisim.Rows.Add(new object[] {null,"Can","İzmir",25 });
DataTable ı sıralamak
DataTable dtisim = new DataTable("isimler");
dtisim.Columns.Add("SiraNo", typeof(int));
dtisim.Columns.Add("Adi", typeof(string));
dtisim.Columns.Add("Dyeri", typeof(string));
dtisim.PrimaryKey = new DataColumn[] { dtisim.Columns["SiraNo"] };
dtisim.Columns["SiraNo"].AutoIncrement = true;
dataGridView1.DataSource = dtisim;
DataRow kayit = dtisim.NewRow();
kayit["Adi"] = "Kamuran";
kayit["Dyeri"] = "Bursa";
dtisim.Rows.Add(kayit);
kayit = dtisim.NewRow();
kayit["Adi"] = "Veli";
kayit["Dyeri"] = "Çanakkale";
dtisim.Rows.Add(kayit);
dtisim.Rows.Add(new object[] {null,"Can","İzmir" });
//araya satır ekleme
DataRow kayit = dtisim.NewRow();
kayit["Adi"] = "Mine";
kayit["Dyeri"] = "Bursa";
dtisim.Rows.InsertAt(kayit, 1);
// Dyeri Bursa olan kayıtları SiraNo sunu büyükten küçüğe sıralar.
DataRow[] secilenkayitlar = dtisim.Select("DYeri = 'Bursa'", "SiraNo desc");
foreach (DataRow dr in secilenkayitlar)
{
MessageBox.Show(dr["SiraNo"].ToString() + " " + dr["Adi"].ToString());
}
dtisim.Columns.Add("SiraNo", typeof(int));
dtisim.Columns.Add("Adi", typeof(string));
dtisim.Columns.Add("Dyeri", typeof(string));
dtisim.PrimaryKey = new DataColumn[] { dtisim.Columns["SiraNo"] };
dtisim.Columns["SiraNo"].AutoIncrement = true;
dataGridView1.DataSource = dtisim;
DataRow kayit = dtisim.NewRow();
kayit["Adi"] = "Kamuran";
kayit["Dyeri"] = "Bursa";
dtisim.Rows.Add(kayit);
kayit = dtisim.NewRow();
kayit["Adi"] = "Veli";
kayit["Dyeri"] = "Çanakkale";
dtisim.Rows.Add(kayit);
dtisim.Rows.Add(new object[] {null,"Can","İzmir" });
//araya satır ekleme
DataRow kayit = dtisim.NewRow();
kayit["Adi"] = "Mine";
kayit["Dyeri"] = "Bursa";
dtisim.Rows.InsertAt(kayit, 1);
// Dyeri Bursa olan kayıtları SiraNo sunu büyükten küçüğe sıralar.
DataRow[] secilenkayitlar = dtisim.Select("DYeri = 'Bursa'", "SiraNo desc");
foreach (DataRow dr in secilenkayitlar)
{
MessageBox.Show(dr["SiraNo"].ToString() + " " + dr["Adi"].ToString());
}
DataTable da kayıt arama veya kayıtları seçme
DataTable dtisim = new DataTable("isimler");
dtisim.Columns.Add("SiraNo", typeof(int));
dtisim.Columns.Add("Adi", typeof(string));
dtisim.Columns.Add("Dyeri", typeof(string));
dtisim.PrimaryKey = new DataColumn[] { dtisim.Columns["SiraNo"] };
dtisim.Columns["SiraNo"].AutoIncrement = true;
dataGridView1.DataSource = dtisim;
DataRow kayit = dtisim.NewRow();
kayit["Adi"] = "Kamuran";
kayit["Dyeri"] = "Bursa";
dtisim.Rows.Add(kayit);
kayit = dtisim.NewRow();
kayit["Adi"] = "Veli";
kayit["Dyeri"] = "Çanakkale";
dtisim.Rows.Add(kayit);
dtisim.Rows.Add(new object[] {null,"Can","İzmir" });
DataRow kayit = dtisim.NewRow();
kayit["Adi"] = "Mine";
kayit["Dyeri"] = "Bursa";
dtisim.Rows.InsertAt(kayit, 1);
//Doğum yeri Bursa olan kayıtları seçip secilenkayitlar koleksiyonuna atar.
DataRow[] secilenkayitlar = dtisim.Select("DYeri = 'Bursa'");
foreach (DataRow dr in secilenkayitlar)
{
MessageBox.Show(dr["SiraNo"].ToString() + " " + dr["Adi"].ToString());
}
Select içerisinde kullanılabilecek operatörler aşağıdaki gibidir.
<, >, <=, >=, <>, =, in, like, and, or, not
//SiraNo alanındaki 3 ve 5 yazılı olan kayıtları seçip secilenkayitlar koleksiyonuna atar.
DataRow[] secilenkayitlar = dtisim.Select("SiraNo in (3,5)");
foreach (DataRow dr in secilenkayitlar)
{
MessageBox.Show(dr["SiraNo"].ToString() + " " + dr["Adi"].ToString());
}
//DYeri Bursa ve Yasi 20 den büyük olan kayıtları seçip secilenkayitlar koleksiyonuna atar.
DataRow[] secilenkayitlar = dtisim.Select("DYeri = 'Bursa' and Yasi > 20");
foreach (DataRow dr in secilenkayitlar)
{
MessageBox.Show(dr["SiraNo"].ToString() + " " + dr["Adi"].ToString());
}
dtisim.Columns.Add("SiraNo", typeof(int));
dtisim.Columns.Add("Adi", typeof(string));
dtisim.Columns.Add("Dyeri", typeof(string));
dtisim.PrimaryKey = new DataColumn[] { dtisim.Columns["SiraNo"] };
dtisim.Columns["SiraNo"].AutoIncrement = true;
dataGridView1.DataSource = dtisim;
DataRow kayit = dtisim.NewRow();
kayit["Adi"] = "Kamuran";
kayit["Dyeri"] = "Bursa";
dtisim.Rows.Add(kayit);
kayit = dtisim.NewRow();
kayit["Adi"] = "Veli";
kayit["Dyeri"] = "Çanakkale";
dtisim.Rows.Add(kayit);
dtisim.Rows.Add(new object[] {null,"Can","İzmir" });
DataRow kayit = dtisim.NewRow();
kayit["Adi"] = "Mine";
kayit["Dyeri"] = "Bursa";
dtisim.Rows.InsertAt(kayit, 1);
//Doğum yeri Bursa olan kayıtları seçip secilenkayitlar koleksiyonuna atar.
DataRow[] secilenkayitlar = dtisim.Select("DYeri = 'Bursa'");
foreach (DataRow dr in secilenkayitlar)
{
MessageBox.Show(dr["SiraNo"].ToString() + " " + dr["Adi"].ToString());
}
Select içerisinde kullanılabilecek operatörler aşağıdaki gibidir.
<, >, <=, >=, <>, =, in, like, and, or, not
//SiraNo alanındaki 3 ve 5 yazılı olan kayıtları seçip secilenkayitlar koleksiyonuna atar.
DataRow[] secilenkayitlar = dtisim.Select("SiraNo in (3,5)");
foreach (DataRow dr in secilenkayitlar)
{
MessageBox.Show(dr["SiraNo"].ToString() + " " + dr["Adi"].ToString());
}
//DYeri Bursa ve Yasi 20 den büyük olan kayıtları seçip secilenkayitlar koleksiyonuna atar.
DataRow[] secilenkayitlar = dtisim.Select("DYeri = 'Bursa' and Yasi > 20");
foreach (DataRow dr in secilenkayitlar)
{
MessageBox.Show(dr["SiraNo"].ToString() + " " + dr["Adi"].ToString());
}
DataTable da kayıt arama
DataTable dtisim = new DataTable("isimler");
dtisim.Columns.Add("SiraNo", typeof(int));
dtisim.Columns.Add("Adi", typeof(string));
dtisim.Columns.Add("Dyeri", typeof(string));
dtisim.PrimaryKey = new DataColumn[] { dtisim.Columns["SiraNo"] };
dtisim.Columns["SiraNo"].AutoIncrement = true;
dataGridView1.DataSource = dtisim;
DataRow kayit = dtisim.NewRow();
kayit["Adi"] = "Kamuran";
kayit["Dyeri"] = "Bursa";
dtisim.Rows.Add(kayit);
kayit = dtisim.NewRow();
kayit["Adi"] = "Veli";
kayit["Dyeri"] = "Çanakkale";
dtisim.Rows.Add(kayit);
dtisim.Rows.Add(new object[] {null,"Can","İzmir" });
//araya satır ekleme
DataRow kayit = dtisim.NewRow();
kayit["Adi"] = "Mine";
kayit["Dyeri"] = "Bursa";
dtisim.Rows.InsertAt(kayit, 1);
DataRow bulunankayit = dtisim.Rows.Find(new Object[] {1, "Mine", "Bursa"});
Eğer kayıt bulunursa kayıt bilgileri bulunankayit nesnesine işlenir bulunamazsa null değeri işlenecektir.
DataTable da primarykey alana göre arama nasıl yapılır.
DataTable dtisim = new DataTable("isimler");
dtisim.Columns.Add("SiraNo", typeof(int));
dtisim.Columns.Add("Adi", typeof(string));
dtisim.Columns.Add("Dyeri", typeof(string));
dtisim.PrimaryKey = new DataColumn[] { dtisim.Columns["SiraNo"] };
dtisim.Columns["SiraNo"].AutoIncrement = true;
dataGridView1.DataSource = dtisim;
DataRow kayit = dtisim.NewRow();
kayit["Adi"] = "Kamuran";
kayit["Dyeri"] = "Bursa";
dtisim.Rows.Add(kayit);
kayit = dtisim.NewRow();
kayit["Adi"] = "Veli";
kayit["Dyeri"] = "Çanakkale";
dtisim.Rows.Add(kayit);
dtisim.Rows.Add(new object[] {null,"Can","İzmir" });
//araya satır ekleme
DataRow kayit = dtisim.NewRow();
kayit["Adi"] = "Mine";
kayit["Dyeri"] = "Bursa";
dtisim.Rows.InsertAt(kayit, 1);
DataRow bulunankayit = dtisim.Rows.Find(2); //SiraNo su 2 olan kaydı bulur.
MessageBox.Show(bulunankayit["SiraNo"].ToString() + " " + bulunankayit["Adi"].ToString());
dtisim.Columns.Add("SiraNo", typeof(int));
dtisim.Columns.Add("Adi", typeof(string));
dtisim.Columns.Add("Dyeri", typeof(string));
dtisim.PrimaryKey = new DataColumn[] { dtisim.Columns["SiraNo"] };
dtisim.Columns["SiraNo"].AutoIncrement = true;
dataGridView1.DataSource = dtisim;
DataRow kayit = dtisim.NewRow();
kayit["Adi"] = "Kamuran";
kayit["Dyeri"] = "Bursa";
dtisim.Rows.Add(kayit);
kayit = dtisim.NewRow();
kayit["Adi"] = "Veli";
kayit["Dyeri"] = "Çanakkale";
dtisim.Rows.Add(kayit);
dtisim.Rows.Add(new object[] {null,"Can","İzmir" });
//araya satır ekleme
DataRow kayit = dtisim.NewRow();
kayit["Adi"] = "Mine";
kayit["Dyeri"] = "Bursa";
dtisim.Rows.InsertAt(kayit, 1);
DataRow bulunankayit = dtisim.Rows.Find(2); //SiraNo su 2 olan kaydı bulur.
MessageBox.Show(bulunankayit["SiraNo"].ToString() + " " + bulunankayit["Adi"].ToString());
DataTable dan kayıt silme
DataTable daki tüm kayıtları silmek için
dtisim.Rows.Clear();
Belirli bir sıra numarasındaki kaydı silmek için
int sirano = 5;
DataRow silinecekkayit = dtisim.Rows[sirano]; //5.kaydı siler.
dtisim.Rows.Remove(silinecekkayit);
dtisim.Rows.RemoveAt(5); //5. kaydı siler
dtisim.Rows.Clear();
Belirli bir sıra numarasındaki kaydı silmek için
int sirano = 5;
DataRow silinecekkayit = dtisim.Rows[sirano]; //5.kaydı siler.
dtisim.Rows.Remove(silinecekkayit);
dtisim.Rows.RemoveAt(5); //5. kaydı siler
DataTable a kayıt ekleme ve araya kayıt girişi
DataTable dtisim = new DataTable("isimler");
dtisim.Columns.Add("SiraNo", typeof(int));
dtisim.Columns.Add("Adi", typeof(string));
dtisim.Columns.Add("Dyeri", typeof(string));
dtisim.PrimaryKey = new DataColumn[] { dtisim.Columns["SiraNo"] };
dtisim.Columns["SiraNo"].AutoIncrement = true;
dataGridView1.DataSource = dtisim;
DataRow kayit = dtisim.NewRow();
kayit["Adi"] = "Kamuran";
kayit["Dyeri"] = "Bursa";
dtisim.Rows.Add(kayit);
kayit = dtisim.NewRow();
kayit["Adi"] = "Veli";
kayit["Dyeri"] = "Çanakkale";
dtisim.Rows.Add(kayit);
dtisim.Rows.Add(new object[] {null,"Can","İzmir" });
////////***************araya satır ekleme
DataRow kayit = dtisim.NewRow();
kayit["Adi"] = "Mine";
kayit["Dyeri"] = "Bursa";
dtisim.Rows.InsertAt(kayit, 2); //2.satıra kayıt girişi yapmak için kullandık.
dtisim.Columns.Add("SiraNo", typeof(int));
dtisim.Columns.Add("Adi", typeof(string));
dtisim.Columns.Add("Dyeri", typeof(string));
dtisim.PrimaryKey = new DataColumn[] { dtisim.Columns["SiraNo"] };
dtisim.Columns["SiraNo"].AutoIncrement = true;
dataGridView1.DataSource = dtisim;
DataRow kayit = dtisim.NewRow();
kayit["Adi"] = "Kamuran";
kayit["Dyeri"] = "Bursa";
dtisim.Rows.Add(kayit);
kayit = dtisim.NewRow();
kayit["Adi"] = "Veli";
kayit["Dyeri"] = "Çanakkale";
dtisim.Rows.Add(kayit);
dtisim.Rows.Add(new object[] {null,"Can","İzmir" });
////////***************araya satır ekleme
DataRow kayit = dtisim.NewRow();
kayit["Adi"] = "Mine";
kayit["Dyeri"] = "Bursa";
dtisim.Rows.InsertAt(kayit, 2); //2.satıra kayıt girişi yapmak için kullandık.
DataTable a yeni kayıt girişi
DataTable dtisim = new DataTable("isimler");
dtisim.Columns.Add("SiraNo", typeof(int));
dtisim.Columns.Add("Adi", typeof(string));
dtisim.Columns.Add("Dyeri", typeof(string));
dtisim.PrimaryKey = new DataColumn[] { dtisim.Columns["SiraNo"] };
dtisim.Columns["SiraNo"].AutoIncrement = true;
dataGridView1.DataSource = dtisim;
DataRow kayit = dtisim.NewRow();
kayit["Adi"] = "Kamuran";
kayit["Dyeri"] = "Bursa";
dtisim.Rows.Add(kayit);
kayit = dtisim.NewRow();
kayit["Adi"] = "Veli";
kayit["Dyeri"] = "Çanakkale";
dtisim.Rows.Add(kayit);
dtisim.Rows.Add(new object[] {null,"Can","İzmir" });
4 Ocak 2014 Cumartesi
DataTable a primarykey alanı tanımlama
DataTable daki kolonlardan istediğimiz bir tanesini primarykey olarak tanımlamamız mümkündür. Bunu aşağıdaki şekilde yapabiliriz.
DataTable dtisim = new DataTable("isimler");
dtisim.Columns.Add("SiraNo", typeof(int));
dtisim.Columns.Add("adi", typeof(string));
dtisim.Columns.Add("soyadi", typeof(string));
dtisim.PrimaryKey = new DataColumn[] {dtisim.Columns["SiraNo"]};
DataTable dtisim = new DataTable("isimler");
dtisim.Columns.Add("SiraNo", typeof(int));
dtisim.Columns.Add("adi", typeof(string));
dtisim.Columns.Add("soyadi", typeof(string));
dtisim.PrimaryKey = new DataColumn[] {dtisim.Columns["SiraNo"]};
3 Ocak 2014 Cuma
DataTable Kolon Ekleme
DataTable ın kolonlardan oluştuğunu daha önce yazmıştık. Bir DataTable a kolon eklemin birden fazla yolu vardır. Aşağıda buna dair bir örnek bulunmaktadır. Formunuza bir tane buton bir tane datagridview ekledikten sonra butonu çift tıklayıp aşağıdaki kodları yazın.
// DataTable ımızı tanımlıyoruz
DataTable dtIsimler =
new DataTable();
// DataTable ımıza kolon eklemek için DataColumn sınıfını kullanıyoruz.
DataColumn alan = new
DataColumn();
alan.ColumnName =
"adi";
alan.AllowDBNull =
true;
alan.MaxLength = 20;
alan.DefaultValue =
"Ali";
alan.DataType =
System.Type.GetType("System.String");
// DataColumn sınıfından elde ettiğimiz alanı DataTable ımıza ekliyoruz.
dtIsimler.Columns.Add(alan);
alan = new
DataColumn("soyisim");
alan.AllowDBNull =
true;
alan.MaxLength = 20;
alan.DefaultValue =
"Boş";
alan.DataType =
System.Type.GetType("System.String");
dtIsimler.Columns.Add(alan);
alan = new
DataColumn("Yasi", typeof(int));
alan.AllowDBNull =
false;
alan.DefaultValue = 0;
dtIsimler.Columns.Add(alan);
alan = new
DataColumn("DYeri", typeof(string), "Bursa");
alan.AllowDBNull =
false;
dtIsimler.Columns.Add(alan);
dataGridView1.AutoGenerateColumns = true;
dataGridView1.DataSource = dtIsimler;
DataTable dtIsimler = new DataTable();
dtIsimler.Columns.Add("adi", typeof(string));
dtIsimler.Columns.Add("soyadi", typeof(string));
dtIsimler.Columns.Add("yasi", typeof(int));
dataGridView1.AutoGenerateColumns = true;
dataGridView1.DataSource = dtIsimler;
DataTable dtIsimler = new DataTable();
dtIsimler.Columns.Add("adi", typeof(string));
dtIsimler.Columns.Add("soyadi", typeof(string));
dtIsimler.Columns.Add("yasi", typeof(int));
dtIsimler.Columns.Add("dyeri", typeof(string));
dtIsimler.Columns[0].MaxLength = 20; //0 ilk kolonu 1 ikinci kolonu temsil eder.
dtIsimler.Columns[1].MaxLength = 20;
dtIsimler.Columns[3].DefaultValue = "Ankara";
dataGridView1.AutoGenerateColumns = true;
dataGridView1.DataSource = dtIsimler;
DataColumn da kullanılabilecek alan tipleri ise aşağıdaki gibidir.
Boolean
Byte
Char
DateTime
Decimal
Double
Int16
Int32
Int64
SByte
Single
String
TimeSpan
UInt16
UInt32
UInt64
Arrays o
DataColumn da kullanılabilecek alan tipleri ise aşağıdaki gibidir.
Boolean
Byte
Char
DateTime
Decimal
Double
Int16
Int32
Int64
SByte
Single
String
TimeSpan
UInt16
UInt32
UInt64
Arrays o
DataTable nedir ?
Verilerimizi hafızada tutmanın bir yolu DataTable sınıfıdır.
DataTable aynı veri tabanındaki bir tablo gibi kolonlardan, satırlardaki
kayıtlardan, indexler gibi bir çok özellikten oluşur. System.Data namespaceinin
içerisinde bulunur.
DataTable dtIsimler = new DataTable();
şeklinde veya
DataTable dtIsimler = new DataTable("isimler"); şeklinde bir
isim verilerek tanımlanabilir.
2 Ocak 2014 Perşembe
C# Projesinde Klasör değiştirme
Bazen bir pojeyi kopyalayıp ismini değiştirip farklı bir proje olarak geliştirmeye devam etmek isteyebilirsiniz. Bu durumda en can sıkıcı nokta tüm proje isimleri değişmişken klasör ismini değiştirdiğiniz zaman projeyi visual studio ile açamamanızdır. (En azından benim derdim bu idi) Bu durumda yapmamız gereken çok basitmiş. projemizin sln dosyasını notepad ile açıp klasör ismini değiştiriyoruz.
İyi çalışmalar.
İyi çalışmalar.
Kaydol:
Kayıtlar (Atom)