11 Eylül 2012 Salı

Devexpress GridControl StyleFormatCondition

Grid Control üzerinde gösterdiğiz kayıtları belli bir koşula göre formatlamak için StyleFormatCondition kullanılır.. Örnek Olarak aşağıdaki liste Yaş sütunu 18den küçük olanları kırmızı ile göstermektedir.



Kodlar ise şu şekildedir.

StyleFormatCondition format1 = new StyleFormatCondition();

format1.Column = gridView1.Columns["Yas"];
format1.ApplyToRow = true;
format1.Appearance.BackColor = Color.Red;      
format1.Appearance.Options.UseBackColor = true;
format1.Condition = FormatConditionEnum.Less;
format1.Value1 = 18;

gridView1.FormatConditions.Add(format1);

FormatConditionEnum ile farklı koşulları ekleyebiliriz.(Equal,Between,LessOrEqual v.b.)

Listemizde 18 yaşından büyükleri ve küçükleri farklı renkte göstermek istersek şu şekilde iki adet StyleFormatCondition tanımlamamız gerekmektedir.

StyleFormatCondition format1 = new StyleFormatCondition();
format1.Column = gridView1.Columns["Yas"];
format1.ApplyToRow = true;
format1.Appearance.BackColor = Color.Red;
format1.Appearance.Options.UseBackColor = true;
format1.Condition = FormatConditionEnum.Less;
format1.Value1 = 18;
gridView1.FormatConditions.Add(format1);



StyleFormatCondition format2 = new StyleFormatCondition();
format2.Column = gridView1.Columns["Yas"];
format2.ApplyToRow = true;
format2.Appearance.BackColor = Color.Green;
format2.Appearance.Options.UseBackColor = true;
format2.Condition = FormatConditionEnum.GreaterOrEqual;
format2.Value1 = 18;
gridView1.FormatConditions.Add(format2);

Ekran görüntüsü ise şu şekilde olacaktır ..


Bu şekilde grid üzerindeki kayıtları belli durumlara göre farklı formatlarda görüntüleyebilirsiniz. 

Herkese iyi çalışmalar ...

9 Eylül 2012 Pazar

25 Haziran 2012 Pazartesi

DevExpress XtraGrid - Master/Detail


private DataTable dtMusteri()
{
    DataTable dt = new DataTable();

    dt.Columns.Add("MusteriID", typeof(int));
    dt.Columns.Add("Musteri", typeof(string));

    DataRow dr = dt.NewRow();
    dr[0] = 1; dr[1] = "Ahmet Taş";
    dt.Rows.Add(dr);

    dr = dt.NewRow();
    dr[0] = 2; dr[1] = "Mehmet Kaş";
    dt.Rows.Add(dr);

    dr = dt.NewRow();
    dr[0] = 3; dr[1] = "Veli Yaş";
    dt.Rows.Add(dr);


    return dt;
}

private DataTable dtUrun()
{
    DataTable dt = new DataTable();

    dt.Columns.Add("MusteriID", typeof(int));
    dt.Columns.Add("Urun", typeof(string));

    DataRow dr = dt.NewRow();
    //Ahmet Taş için Ürünler
    dr[0] = 1; dr[1] = "Bilgisayar";
    dt.Rows.Add(dr);  
  
    dr = dt.NewRow();
    dr[0] = 1; dr[1] = "TV";
    dt.Rows.Add(dr);

    dr = dt.NewRow();
    dr[0] = 1; dr[1] = "Mouse";
    dt.Rows.Add(dr);

    //Mehmet Kaş için Ürünler
    dr = dt.NewRow();
    dr[0] = 2; dr[1] = "Kalem";
    dt.Rows.Add(dr);

    dr = dt.NewRow();
    dr[0] = 2; dr[1] = "Kağıt";
    dt.Rows.Add(dr);

    //Veli Yaş için Ürünler
    dr = dt.NewRow();
    dr[0] = 3; dr[1] = "Çay";
    dt.Rows.Add(dr);

    dr = dt.NewRow();
    dr[0] = 3; dr[1] = "Şeker";
    dt.Rows.Add(dr);

    dr = dt.NewRow();
    dr[0] = 3; dr[1] = "Un";
    dt.Rows.Add(dr);

    dr = dt.NewRow();
    dr[0] = 3; dr[1] = "Tuz";
    dt.Rows.Add(dr);


    return dt;
}

private void Form1_Load(object sender, EventArgs e)
{
    DataSet ds = new DataSet();
    ds.Tables.Add(dtMusteri());
    ds.Tables.Add(dtUrun());
    

    ds.Relations.Add("Detay", ds.Tables[0].Columns["MusteriID"], ds.Tables[1].Columns["MusteriID"]);

    gridControl1.DataSource = ds.Tables[0];

}


Kod İle Oluşturulan Nesne Olayı

private void Form1_Load(object sender, EventArgs e)
{

    for (int i = 0; i < 8; i++)
    {
        for (int j = 0; j < 8; j++)
        {
            Button btn = new Button();
            btn.Name = "Button" + ((j * 8 + i) + 1).ToString();
            btn.Text = ((j * 8 + i) + 1).ToString();
            btn.Parent = this;
            btn.Size = new Size(50, 50);
            btn.Location = new Point(i * btn.Width + 5, j * btn.Height + 5);

            btn.Click += new EventHandler(btn_Click);
        }
    }
}

void btn_Click(object sender, EventArgs e)
{
    Button btn = sender as Button;  //Tıklanan Butonu alıyoruz
    MessageBox.Show("Tıklanan Buton : " + btn.Text);
}

20 Haziran 2012 Çarşamba

Çalışma Anında VGridControl Oluşturma




private void Form1_Load(object sender, EventArgs e)
{
    VGridControl VGrid = new VGridControl();
    VGrid.Parent = this;
    VGrid.Dock = DockStyle.Fill;
    VGrid.LayoutStyle = LayoutViewStyle.SingleRecordView;

    CategoryRow baslik = new CategoryRow();
    baslik.Properties.Caption = "Bilgiler";

    EditorRow ad = new EditorRow();
    ad.Properties.Caption = "Ad :";

    EditorRow soyad = new EditorRow();
    soyad.Properties.Caption = "Soyad :";

    MultiEditorRow diger = new MultiEditorRow();
    diger.PropertiesCollection.Add(new MultiEditorRowProperties("DogumYeri"));
    diger.PropertiesCollection.Add(new MultiEditorRowProperties("DogumTarihi"));

    VGrid.Rows.AddRange(new BaseRow[]{
        baslik,
        ad,
        soyad,
        diger
        
    });

}


Formun son hali şu şekilde olacaktır ...




Bu yöntem ile dinamik formlar oluşturabilirsiniz.

Girilen değeri okumak için ise ;

string ad = VGrid.Rows["ad"].Properties.Value.ToString();

kullanabilirsiniz..