17 Eylül 2014 Çarşamba

DataTable içindeki kayıtları Linq ile Gruplayıp toplama işlemi yapma

var sonuc = from r in dtVeriler.AsEnumerable()
                             group r by new { xfield1 = r["field1"], xfield2 = r["field2"]} into g
                             select new
                             {
                                 SiraNo = g.Key.xfield1,
                                 Aciklama = g.Key.xfield2,
                                 Toplam = g.Sum(x => Convert.ToSingle(x["Toplam"]))
                             };

26 Mayıs 2014 Pazartesi

C# ile SQL Serverların Listesi

Bunun için ekrana bir buton koyup butonun onclick evetına aşağıdaki kodları yazıyoruz.

System.Data.Sql.SqlDataSourceEnumerator lst = System.Data.Sql.SqlDataSourceEnumerator.Instance;
DataTable dtSQLListesi = instance.GetDataSources();

Programın çalıştığı makine veya network içerisinde bulunan tüm sql serverlerin (2000/2005/2008/2012..)
bulunduğu server ismini ve instance ismini bir DataTable içerisine getirecektir.

21 Şubat 2014 Cuma

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);
}

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();
 
 
  
 
 


 

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();