DevExpress WPF GridControl Data Binding

DevExpress WPF GridControl Data Binding’i klasik kapalı veri tabanı bağlama yönteminden yapmak gayet basit:

C#:

SqlConnection _conn = new SqlConnection(“Data Source=MehmetKAPLAN;Initial Catalog=biTakip;User ID=sa;Password=”);

SqlDataAdapter _da = new SqlDataAdapter(“select * from tblHaberler”,_conn);

DataTable _dt = new DataTable();

_da.Fill(_dt);

gridControl1.DataSource = _dt;

WPF:

<dxg:GridControl HorizontalAlignment=”Left” Margin=”78,96,0,0″ Name=”gridControl1″

VerticalAlignment=”Top” Height=”223″ Width=”386″ AutoPopulateColumns=”True” />

Burada dikkat etmemiz gereken nokta, AutoPopulateColumns özelliğinin true olması. Eğer false olursa, alan adlarını elle eklemek gerekecektir.

Diğer veri bağlama yöntemlerinden biri de list türünde bir listeyi DataGrid’e bağlamak. Bunun için aşağıdaki DevExpress blogundan yararlanabilirsiniz:

Getting started with the DevExpress Grid Control for WPF – data binding 1

Eğer isterseniz WPF DataGrid demolarına aşağıdaki bağlantıdan erişebilirsiniz (İnternet Explorer ile açınız):

http://demos.devexpress.com/DXGridDemos/

Haydi kolay gelsin.

İpinUcu ~ 52 – WPF GridView’da Seçilen Satırın Bilgilerini Almak

WPF GridView’da Seçilen Satırın Bilgilerini Almak için DataRowView türünden bir nesne tanımlayarak, tanımladığımız nesne üzerinden bilgilere ulaşıyoruz. aşağıda küçük bir örnek vardır. İnceleyiniz:

DataRowView dr = (DataRowView)gridYonetim.SelectedValue;
kid = Convert.ToInt32 (dr.Row.ItemArray[0]);
txtRumuz.Text = dr.Row.ItemArray[1].ToString();
txtKSifre.Text = dr.Row.ItemArray[2].ToString();

0, 1 ve 2, alan adlarını temsil etmektedir. Sırasıyla ID, Rumuz ve Şifre alanları alınmaktadır.

Not: Bu örnek WPF Toolkit içerisindeki GridView’ın değerlerine ulaşmak içindir. Diğer bileşenlerin değer alma yöntemleri farklı olabilir.

İpinUcu ~ 43 – WPF GridView’da GridView’ın İçini Boşaltmak & Yenilemek & Temizlemek

WPF GridView’da GridView’ın İçini Boşaltmak & Yenilemek & Temizlemek için aşağıdaki seçenekleri kullanabilirsiniz:

dataGrid.Items.Clear();

dataGrid.ItemsSource = kaynakList;

dataGrid.DataContext = sqlContext;

İpinUcu ~ 40 – WPF GridView’da Değerlerin Düzeltilmesini Engellemek (ReadOnly & Not Editable)

WPF GridView’da Değerlerin Düzeltilemsini Engellemek (Not Editable) için IsReadOnly özelliğini true yapmak yeterli olacaktır. Benim canımı sıkan bir konu olmuştu. :)

İpinUcu ~ 38 – WPF Kod Tarafında GridView Alanının Genişliğini Auto Yapmak

WPF Kod Tarafında GridView Alanının Genişliğini Auto Yapabilmek için Width değerini ‘???’ olarak vermemiz yeterli olacaktır. Örnek aşağıdaki gibidir:

gridDeneme.Columns.Add(new GridViewColumn
{
   Header = “Mehmet KAPLAN”,
   DisplayMemberBinding = new Binding(“MyBinding”),
   Width = ??? // Otomatik ayarladık
});

İpinUcu ~ 29 – WPF’te SQL’i DataGrid’e Bağlama

WPF’te SQL’i DataGrid’e Bağlama işlemi her ne kadar artık Linq \ Entity gibi yöntemlerle yapılır olduysa da, eski düzen devam etmek isteyenleri de yeniliklere zorlamak mümkün olmayacaktır. Klasik SqlConnection, DataAdapter ve DataTable yöntemiyle veri bağlama işlemi aşağıdaki gibi olacaktır:

SqlConnection concon = new SqlConnection(“Data Source=192.168.100.14;Initial Catalog=biTakip;User ID=sa;Password=bu1sifredir”);
SqlDataAdapter dadapter = new SqlDataAdapter(“select * from tblHaberler”,concon);
DataTable dtable = new DataTable();
dadapter.Fill(dtable);

gridim.ItemsSource = dtable.DefaultView;

Eskisinden farklı olarak atama işlemini ItemsSource özelliğine yapıyoruz. Eğer isterseniz XAML tarafında alanları kendiniz oluşturabilir ya da sorgudan gelen alanları olduğu gibi gösterebilirsiniz. Olduğu gibi göstermek için AutoGenerateColumns özelliğinin true olması gerekiyor. False olursa, XAML tarafında sizin şu şekilde oluşturmanız gerekir:

<dg:DataGrid.Columns>
<dg:DataGridTextColumn Header=”Alan Adı”>
</dg:DataGridTextColumn>
<dg:DataGridTextColumn Header=”Satan Adı”>
</dg:DataGridTextColumn>
</dg:DataGrid.Columns>

İpinUcu ~ 26 – WPF GridView Biçemi & Teması (GridView Style)

WPF’teki GridView’in sade halinden hoşlanmayan ya da özelleştirmek için setter’larla başı belada olanlar için çok güzel bir örnek var.

Örnek Link.

Örnek sayfanın sonundaki .zip dosyasını indiriniz. İndirdiğiniz projeyi çalıştırabilmeniz için WPFToolKit kütüphanesine sahip olmanız gerekiyor. Bu kütüphaneyi CodePlex’den edinebilirsiniz. Edindikten sonra projeyi çalıştırın ve aşağıdaki gibi bir sonuçla karşılaşın. Gayeeet güzel.

Elbette tasarıya bağımlı kalmak zorunda değilsiniz. DataGridCustomization dosyasının içeriğini kendi tasarınızda oluşturduğunuz Resource Dictionary’e alıp kullanabilir ya da değişiklik yapabilirsiniz.

Takip Et

Her yeni yazı için posta kutunuza gönderim alın.

Diğer 394 takipçiye katılın

%d blogcu bunu beğendi: