İpinUcu ~ 86 – WPF DevExpress TreeListControl Kullanımı


WPF DevExpress TreeListControl, hiç şüphesiz DevExpress’in WPF ile ilgili en iyi nesnelerinden biri. Hemen basitten karmaşığa örneklerimize başlayalım:

<dxg:TreeListControl Name="agaclarormana" AutoPopulateColumns="True"/>

agaclarormana adlı TreeListControl’ümüzün gördüğünüz üzere AutoPopulateColumns özelliği true. Bunun nedeni, benim tek tek alan eklemeye üşeniyor olmam. Yani select sorgusundan ne kadar alan geliyorsa, TreeListControl de o kadar alan ekleyecek.

İşin arka tarafta klasik DataAdapter bağlama yöntemini kullandım:

SqlConnection _conn = new SqlConnection("Data Source=Mehmet KAPLAN;Initial Catalog=Mehmet KAPLAN;
User ID=aydi;Password=bu1sifredir");
SqlDataAdapter _da = new SqlDataAdapter("select * from teybil",_conn);
DataTable _dt = new DataTable();
_da.Fill(_dt);
agaclarormana.ItemsSource = _dt;

Burada bağlama işlemi sırasında bilmemiz gereken, ItemSource’a bağlamak. Eğer ana\yavru (child,parent, vs.) ilişkisi istiyorsanız, tablonuzda bir ana, bir yavru id taşıyan alan olmalı. Aşağıdaki örneğin List’ini inceleyiniz. Şimdi DevExpress’in yaptığı örneklerden birini kullanarak devam edelim –örneğin bulunduğu bağlantı için tıklayınız:

<dxg:TreeListControl Name="treeListControl1" Loaded="treeListControl1_Loaded" >
            <dxg:TreeListControl.Columns>
                <dxg:TreeListColumn FieldName="Name" />
                <dxg:TreeListColumn FieldName="Department" />
                <dxg:TreeListColumn FieldName="Position" />
            </dxg:TreeListControl.Columns>
            <dxg:TreeListControl.View>
                <dxg:TreeListView Name="treeListView1" AutoWidth="True" ShowIndicator="True"
                                  KeyFieldName="ID" ParentFieldName="ParentID">
                </dxg:TreeListView>
            </dxg:TreeListControl.View>
            </dxg:TreeListControl>

Burada yapılan işlemler basit ama üzerinden geçmek gereken birkaç nokta var. TreeListView kısmında, TreeList’imizin ana ve yavru elemanlarını belirlediğimiz bir bölüm var. Buradaki KeyFieldName özelliği ana, ParentFieldName özelliği yavruyu belirliyor. Buradaki ShowIndicator özelliği ise satırın sol tarafında kalan ve satırı seçmenizi sağlayan küçük kısımdır. TreeListColumn’ın Header özelliği ile Column’a özel isim atayabilirsiniz.

Bunun dışında TreeListControl’ün AllowEditing=”False” yaparak düzenleme yapılmasını engelleyebilirsiniz. AllowFocus=”True” ile tıklanmasını engelleyebilirsiniz. -bu v11 sürümünde ters yapılmış ya da ben de bir sorun var =]-

Şimdi tüm bunların dışında yine can alıcı başka bir konu var; toplamı göstermek. Bunu yapmak için öncelikle TreeListView’imize  ShowTotalSummary=”True” kodunu eklemeliyiz. Aynı şekilde TreeListControl’ün altına da şu eklemeyi yapmalıyız:

<dxg:TreeListControl.TotalSummary>
                <dxg:TreeListSummaryItem FieldName="Name" SummaryType="Count" />
            </dxg:TreeListControl.TotalSummary>

Burada toplamı alınacak olan alan FieldName ile, hesaplamanın türü de SummaryType ile gösteriliyor. Count dışında Sum, Avarage, Min, Max gibi matematiksel işlemleri yapmayı sağlayan tipler var. Elbette tüm bunları yapabilmeniz için alanın sayısal değerleri taşıyan bir alan olması gerekiyor.

Eğer kod tarafında yeni kayıt oluşturmak ekliyorsanız DevExpress’in blogunu inceleyebilirsiniz:

http://www.devexpress.com/Support/Center/e/E3255.aspx

Haydii kolay gelsin.

Hakkında Mehmet KAPLAN
mehmet.kaplan@hotmail.com.tr https://mehmetkaplan.wordpress.com/mehmetkaplan/

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: