Kısa Tanım:


Tablo içerisindeki kolonlarda renklendirme işleminde en düşük fiyatın renklendirmesi örneği anlatılmıştır.


Açıklama:


Bu özellikle genelde satın alma siparişlerinde tercih edilmekte olup, tedarikçilerden fiyatların gelmesi sonucu tek tabloda en düşük fiyatın renklendirilerek daha hızlı bir şekilde teklif aşamasını ilerletmemizi amaçlamaktadır. Ayrıca tedarikçi seçimi kolonunda da en düşük fiyata ait  tedarikçinin otomatik seçilmesi sağlanmıştır. Bu örnekte hem hücre renklendirme hem kolon isimlendirme, hem de en düşük ya da yüksek değeri bulma ile ilgili bilgi bulabilirsiniz.  Kodlar form yüklendiğinde kısmına yazılmıştır.


Kod Örneği:


//----------------ORNEK DATA OLUŞTURULMASI-----------------------------------------------------
Teklifler.SetColumnLabelText("Teklifler__col1","A Firması");
Teklifler.SetColumnLabelText("Teklifler__col2","B Firması");
Teklifler.SetColumnLabelText("Teklifler__col3","C Firması");
Teklifler.SetColumnLabelText("Teklifler__col4","D Firması");
string tedarikci="";
for (int i = 0; i <5; i++)
{
    tedarikci=i==0?"A Firması":i==1?"B Firması":i==2?"C Firması":i==3?"C Firması":i==4?"D Firması":"";
    System.Random rnd = new System.Random(Guid.NewGuid().GetHashCode());
    System.Collections.Generic.Dictionary<string, object> OrnekData = new System.Collections.Generic.Dictionary<string, object>();
    OrnekData.Add("Tedarikci",tedarikci);
    OrnekData.Add(Teklifler_Columns.col1, rnd.Next(100000,100000000));
    OrnekData.Add(Teklifler_Columns.col2, rnd.Next(100000,100000000));
    OrnekData.Add(Teklifler_Columns.col3, rnd.Next(100000,100000000));
    OrnekData.Add(Teklifler_Columns.col4, rnd.Next(100000,100000000));
    Teklifler.Content.AddRow(OrnekData);
}
//----------------ORNEK DATA OLUŞTURULMASI-----------------------------------------------------


//----------------EN DÜŞÜK DEĞERİN ALINIP RENKLENDİRİLMESİ-----------------------------------------------------

double col1=0,col2=0,col3=0,col4=0;
double[] liste =new double[4];


for (int i = 0; i <Teklifler.Content.Items.Count; i++)
{
    try{col1=Teklifler.Content.Items[i][Teklifler_Columns.col1].ToDouble();}catch{col1=0;}
    try{col2=Teklifler.Content.Items[i][Teklifler_Columns.col2].ToDouble();}catch{col2=0;}
    try{col3=Teklifler.Content.Items[i][Teklifler_Columns.col3].ToDouble();}catch{col3=0;}
    try{col4=Teklifler.Content.Items[i][Teklifler_Columns.col4].ToDouble();}catch{col4=0;}
    liste[0]=col1>0?col1:0;
    liste[1]=col2>0?col2:0;
    liste[2]=col3>0?col3:0;
    liste[3]=col4>0?col4:0;
    
    double m = Array.IndexOf(liste,liste.Where(x => x != 0).DefaultIfEmpty().Min());
    if(liste.Where(x => x != 0).DefaultIfEmpty().Min()>0)
    {
        Teklifler.SetApperance("Teklifler__col"+(m+1),VariableApperance.Create("green","white",true, 15), i);
        Teklifler.SetValue(Teklifler_Columns.Tedarikci,Teklifler.GetColumn("Teklifler__col"+(m+1)).Label,i);
    }
}


Akış Dosyası (.xnm):

Aşağıdaki dosyayı indirerek uygulamaya aktarabilirsiniz. İçeri aktarma işleminin nasıl yapıldığına dair bilgi için Aktar bölümünü inceleyebilirsiniz.

Tablo kolonlarındaki en düşük fiyatın renklendirilmesi.nxm