Devexpress componentleri gibi 3.parti componentler yazılımcıların eli ayağı olmuş durumda sağladıkları rahatlık,kolaylık üzerimizde ki bir çok yükün alıyor. Devexpress te bize sağladığı rahatlıklardan biri de gridcontrol üzerinde son kullanıcılara filtreleme yapma olanağı sağlamasıdır..

Bunun için sadece Gridcontrolumuz de  AllowFilter=True   ve ShowAutoRilterRow= True yapmamız yeterlidir.

Peki farklı dillerde kullanmak istersek gridcontrol deki  Filtreleme ekranlarını nasıl özelleştirebiliriz?

Bunun için GridLocalizer ve Localizer sınıflarından faydalanacağız.

Yeni bir Devexpress Windows Form Application oluşturalım.

 

Aşağıda Columns üzerinde sağ tıkladığımızda bize açılan menünün ve alan özel fitreleme ekranlarımızın İngilizce olduğu görmekteyiz Türkçe olarak özelleştirmek için sınıfımızı yazmaya başlayalım.

 

 

 

 

TurkishGridFilterLocalizer.cs adında bir sınıf oluşturalım.

 

class TurkishGridFilterLocalizer : GridLocalizer
    {
        // Oluşturabileceğimiz farklı diller için hangi dili çalıştırdığımızı tutalım.
        public override string Language { get { return "Turkish"; } }

        public override string GetLocalizedString(GridStringId id)
        {
            string ret = "";
            switch (id)
            {
                // Grid Filtre adlandırmalarımız  -  BTKulübü Mustafa Demircioğlu
                case GridStringId.GridGroupPanelText: return "Grouplamak istediğiniz alanları buraya sürükleyiniz.";
                case GridStringId.MenuColumnClearSorting: return "Sıralamayı Kaldır";
                case GridStringId.MenuGroupPanelHide: return "Grouplama Alanını Gizle";
                case GridStringId.MenuColumnRemoveColumn: return " Sütünü Kaldır";
                case GridStringId.MenuColumnFilterEditor: return " Filtreleme & Düzenleme";
                case GridStringId.MenuColumnFindFilterShow: return "Aramayı Göster";
                case GridStringId.MenuColumnAutoFilterRowShow: return "Otomatik Filtreleme Satırı Göster";
                case GridStringId.MenuColumnSortAscending: return " Artan";
                case GridStringId.MenuColumnSortDescending: return "Azalan";
                case GridStringId.MenuColumnGroup: return "Bu alan için Grupla";
                case GridStringId.MenuColumnUnGroup: return "Çöz";
                case GridStringId.MenuColumnColumnCustomization: return "Özel Sütün";
                case GridStringId.MenuColumnBestFit: return "En uygun Genişlik";
                case GridStringId.MenuColumnFilter: return "Filtrele";
                case GridStringId.MenuColumnClearFilter: return "Filtremeyi Kaldır";
                case GridStringId.MenuColumnBestFitAllColumns: return "Tüm Sütünler Optimal";
                case GridStringId.CustomFilterDialogFormCaption :return "Filtreleme Ekranı";
                case GridStringId.CustomFilterDialogRadioAnd: return "VE";
                case GridStringId.CustomFilterDialogRadioOr: return  "VEYA";
                case GridStringId.CustomFilterDialogOkButton: return "Tamam";
                case GridStringId.CustomFilterDialogCancelButton: return "İptal";
                case GridStringId.CustomFilterDialogEmptyOperator: return "Operatör Seçiniz.";
                case GridStringId.CustomFilterDialogEmptyValue: return "Değer Giriniz.";
                case GridStringId.CustomFilterDialogHint: return "BTKulübü - Mustafa Demircioğlu";
                case GridStringId.CustomFilterDialogCaption: return "BTKulübü - Mustafa Demircioğlu";
    
                default:
                    ret = base.GetLocalizedString(id);
                    break;
            }
            return ret;
        }
    }

 

Özel Filtreleme ekranımızda ki opetörlerimizi isimlendirmek için TurkishFiltersLocalizer adında bir sınıf oluşturalım.

 

public class TurkishFiltersLocalizer : Localizer
    {
        public override string Language { get { return "Turkish"; } }
        public override string GetLocalizedString(StringId id)
        {
            switch (id)
            {

                case StringId.FilterClauseLessOrEqual: return "Küçük veya Eşit Olanlar";
                case StringId.FilterClauseLike: return "içerenler";
                case StringId.FilterClauseNoneOf: return "Hiçbiri";
                case StringId.FilterClauseNotBetween: return "Arasında Değil";
                case StringId.FilterClauseNotLike: return "Gibi olmayanlar";
                case StringId.FilterClauseDoesNotEqual: return "Eşit Olmayanlar";
                case StringId.FilterClauseDoesNotContain: return "İçermeyen";
                case StringId.FilterClauseIsNull: return "içeren";
                case StringId.FilterClauseIsNullOrEmpty: return "Null veya Boş";
                case StringId.FilterClauseEquals: return "Eşittir";
                case StringId.FilterClauseLess: return "Küçük";
                case StringId.FilterClauseGreaterOrEqual: return "Büyük veya Eşit";
                case StringId.FilterClauseGreater: return "Büyük";
                case StringId.FilterClauseIsNotNull: return "Boş Olan";
                case StringId.FilterClauseIsNotNullOrEmpty: return "Boş olmayan";

            }
            return "";
        }

    }

 

 

Formumuz yüklenirken aktif  GridLocalizer olarak TurkishGridFilterLocalizer , Localizer olarakta TurkishFiltersLocalizer verelim.

private void Form1_Load(object sender, EventArgs e)
        {
            GridLocalizer.Active = new TurkishGridFilterLocalizer();
            Localizer.Active = new TurkishFiltersLocalizer();

        }

 

 

 

 

 

Yazıyı beğendiyeseniz sosyal medyada paylaşabilirsiniz.

Yazar Hakkında

Avatar
Mustafa Demircioğlu

Yazılım Geliştirme Uzmanı - Merkas

cialis generic kamagra gel cheap cialis uk levitra uk cialis generic kamagra gel kamagra 100mg cheap cialis uk cheap levitra uk cheap cialis kamagra 100mg cialis tadalafil kamagra oral jelly cialis buy viagra generic levitra uk kamagra gel cialis generic cheap levitra cheap viagra uk

Yorumlar

  1. Avatar
    Mesut Günes

    23/10/2014

    Türkçe DevExpress makalelerinin sayisi çok az oldugu için kiymetli bir makale olmus. Eline saglik Mustafa.

  2. Avatar
    Devexpresci

    24/10/2014

    mustafa bey, devexpress gridcontrol gruplama ile ilgili bir örnek yapabilir misiniz? Kod tarafinda bu islemi yapamadim bir türlü

  3. Avatar
    Mustafa Demircioglu

    24/10/2014

    Tesekkürler Mesut.

  4. Avatar
    Mustafa Demircioglu

    24/10/2014

    Devexpresci Merhaba, Asagidaki kodlar ile suanlik örnek bir grouplama olusturabilirsin daha detayli anlatan bir yazi hazirlacagim. grvListe.Columns["Müsteri Kodu"].GroupIndex = 0; grvListe.Columns["Müsteri"].GroupIndex = 1;

  5. Avatar
    Mustafa PEkmezci

    24/10/2014

    Mustafa bey makale için çok tesekkür ederim. Benim yapmaya çalistigim ama yapamadigim bir konu var onunla ilgili de bir makale rica eediyorum. Devexpress gridcontorlde gridin altinda bir grid olarak detay vermek istiyorum yapamadim. Sitesinde gözüküyor ancak ben yapamadim bir türlü çok sevinirim yardiminizi bekliyorum.

  6. Avatar
    Mustafa Demircioglu

    24/10/2014

    Rica ederim Mustafa Pekmezci, konuyla ilgili size yardimci olacak bir yazi hazirliyor olacagim.

  7. Avatar
    Serkan Yikilmaz

    25/10/2014

    Mustafa bey güzel bir makale hazirlamissiniz. Benim yapmak istedigim gridview üzrindeki hücreleri degistirmek istiyorum kaydet tsuna basinca sadece degisiklik yapilan hücrelerin db'ye yazilmasini istiyorum. Bunu devexpress ile nasil yapabilirim? Bir makale hazirlayabilir misiniz? Tesekkürler.

  8. Avatar
    Necati ISLER

    21/03/2018

    Merhaba Mustafa Bey, Makalenizi okuyup yapmaya çalistim hatalar aliyorum. Makalenizde yazilim paylasa bilir misiniz incelesem. Oradan anlarim diye düsünüyorum. Simdiden ilginiz için tesekkürler.

Yorum Yazın

.com

Bülten Üyeliği

Güncel eğitim ve etkinliklerden ilk haberdar olmak için ücretsiz abone olun.

Login

Login olmak için kullanıcı adınızı ve şifrenizi giriniz.

Şifremi Unuttum

×

Hızlı İletişim

Her konuda bana yazabilirsiniz. En kısa zamanda cevap vereceğim.

×