C# DevExpress GridView Grup Başlıklarını Renklendirme

Bu dersimizde DevExpress GridView Grup Başlıklarını Renklendirmesini göreceğiz


Selamlar arkadaşlar,
Bu dersin içeriği;
  1. DevExpress nesnelerinden GridView 'de yapılan gruplama işleminde grup başlıklarının renklendirimesi
Yani bu;

Bunu yapabilmek için;
GridView'in GroupLevelStyle event'ini kullanıyoruz.
C#
private void gridView1_GroupLevelStyle(object sender, GroupLevelStyleEventArgs e)
        {
            switch (e.Level)
            {
                case 0:
                    e.LevelAppearance.Options.UseBackColor = true;
                    e.LevelAppearance.BackColor = Color.OrangeRed;
                    e.LevelAppearance.ForeColor = Color.White;
                    break;
                default:
                   
                    break;
            }
        }
Gördüğünüz gibi arkadaşlar kodlarımız işte bu kadar. Tabi hepsi bu kadar değil devamı var.
Yukarıdaki kodlar sadece level 0 içindi. yani tek gruplama iç içe birden fazla gruplama var ise;
C#
 private void gridView1_GroupLevelStyle(object sender, GroupLevelStyleEventArgs e)
        {
            switch (e.Level)
            {
                case 0:
                    e.LevelAppearance.Options.UseBackColor = true;
                    e.LevelAppearance.BackColor = Color.OrangeRed;
                    e.LevelAppearance.ForeColor = Color.White;
                    break;
                case 1:
                    e.LevelAppearance.Options.UseBackColor = true;
                    e.LevelAppearance.BackColor = Color.Blue;
                    e.LevelAppearance.ForeColor = Color.White;
                    break;
                case 2:
                    e.LevelAppearance.Options.UseBackColor = true;
                    e.LevelAppearance.BackColor = Color.Green;
                    e.LevelAppearance.ForeColor = Color.White;
                    break;
                case 3:
                    e.LevelAppearance.Options.UseBackColor = true;
                    e.LevelAppearance.BackColor = Color.Black;
                    e.LevelAppearance.ForeColor = Color.White;
                    break;
                default:
                   
                    break;
            }
        }
Ekran görüntüsü de şöyledir:

En dıştan içeri doğru level 0 ,1 , 2 , 3 diye gider. her birine ayrı renkler verebilirsiniz.

Bu dersimizde bu kadar arkadaşlar
Diğer derslerimizde görüşmek üzere,
Bol kodlu günler

C# Math.Round() Yuvarlama Problemi Çözümü


Bu dersimizde Math.Round() metodunun yuvarlama da yaptığı hatanın önüne geçmeyi göreceğiz


Selamlar arkadaşlar,
Bu dersin içeriği;
  1. Math.Round() Metodunun yuvarlama hatasının önüne geçmek
1 - Math.Round() Metodunun yuvarlama hatasının önüne geçmek
Math sınıfına ait round metodu ondalıklı sayıların virgülden sonraki basamaklarını yuvarlamak için kullanırız. Ancak ne varki yuvarlana esnasında çok saçma bir hata yapıyor.
Math.Round(1,5) - Sonuç : 2

Math.Round(2.5) - Sonuç : 2
Aynen gördüğünüz gibi . Hata işte bu. Burada olması gereken şey 2,5 'in de 3'e yuvarlanmasınıdr. *,5 ( dahil ) yukarısı için her durumda yukarı yuvarlanmasını istiyorsak kodumuzu aşağıdaki gibi değiştirmemiz gerekmektedir.
C#
Math.Round((2.5,MidpointRounding.AwayFromZero)

Bu dersimizde bu kadar arkadaşlar
Sonraki derslerimizde görüşmek üzere
Bol kodlu günler
https://mustafabukulmez.com/

C# Double Ondalıklı Sayıyı Virgülü ile String Bir Değere Yazdırma [String.Format]


String.Format metodu ile ondalıklı bir sayıyı bir label'in text'ine yazdıralım

Selamlar arkadaşlar,
Bu dersin içeriği;
  1. String.Format'ın kullanımı
  2. String.Format ile Double (ondalıklı ) bir sayıyı bir label'in Text'ine yazdırmak
  3. Math.Round() kullanımı
1 - String.Format'ın kullanımı
Arkadaşlar ben string format'ı devexpress 2014 ile birlikte gelen CodeRush ile öğrenip kullanmaya başladım. :/ 
Normalde, örneğin bir formun text'ine bilgiler yazdırmak için;
C#
this.Text = string1 + " " + string2 + " " + string3;
gibi bir format kullanıyoruz. Bende çok kez kkullandım. Genelde projelerin ana formlarının text'ine kulllanıcı adı, versiyon, ip gibi bilgileri çekiyordum. Şimbi birde bunu string format ile yapalım.
C#
this.Text = String.Format("{0} {1} {2}", string1, string2, string3);
Gördüğünüz gibi. String.Format ile daha düzenli ve hoş görünmüyor mu? En güzel yanlarından birini daha söyliyeyim.
Önce eski formatını vereyim;
C#
this.Text = string1 + " " + string2 + " " + string3 + " | " + string1 + " " + string2 + " " + string3;
Burada her string ikişer kere kullandık. String.Format ile bu nasıl oluyor onu görelim.
C#
 this.Text = String.Format("{0} {1} {2} | {0} {1} {2}", string1, string2, string3);
Nasılda güzel değil mi?

Buradaki amntık şöyle;
her süslü parantezin içlerindeki sayılar değişkenlerin index sıralarını temsil ediyor.  Tırnaklardan sonra virgül ile ayrılmış string değişkenlerin sırası (birincinin index'i 0(sıfır) oluyor) süslü parantezlerin içerisine yazılıyor. Sabit birşeyler olacaksa onu normal bir şekilde yazıyoruz.
C#
this.Text = String.Format("Kullanıcı Kodu: {0} IP: {1} {2} | {0} {1} {2}", string1, string2, string3);
2 - String.Format ile Double (virgüllü) bir sayıyı bir label'in Text'ine yazdırmak
Tabiki tek görevi bu değil bu güzel arkadaşımızın. Diyelimki elinizde bir double veri var. (ondalıklı sayı) ve bu bir label'e yada textbox'a yazdırmak istiyorsunuz ama virgülden sonrası gelmiyor. Hemen kodları görelim;
C#
 label1.Text = String.Format("{0:0.00}", Math.Round(Toplam_Tutar, 2).ToString());
Burada elimizdeki Toplam_Tutar adındaki double değişkenimizin aldığı bir fiyat bilgisini label'e yazdırıyoruz.
C#
String.Format("{0:0.00}"
//Kısmını
String.Format("{0:0.000}"
//yaparsak birgülden sonra 3 basamak gösterir
3 - Math.Round() kullanımı
Yukarıdaki örnekte gördüğünüz gibi Math.Round() metodu kullanımış. Bu method ondalıklı sayıları yuvarlamaya yarayan bir metoddur.
C#
 Math.Round(Toplam_Tutar, 2) // virgülden sonra 2 basamak
 Math.Round(Toplam_Tutar, 3) // virgülden sonra 3 basamak
şeklinde kullanılır.

Bu dersimizde bu kadar arkadaşlar 
Diğer derslerde görüşmek üzere
Bol kodlu günler,
https://mustafabukulmez.com/