Merhaba arkadaşlar bugün sizlere C# ta bir gridView’den seçili olanları başka bir gridView’e nasıl aktarırız sorusunun cevabını anlatacağım. Bu anlatımımda da DevExpress nesneleri olan gridView(gridControl)’u kullanacağım. Hemen nasıl yapacağımıza bir göz atalım.

Bir Form oluşturunuz. Form’a 2 adet gridView nesnesi ve bir adet buton ekleyiniz. Pembeleşinceye kadar kızartınız:) Biraz yemek tarifi gibi oluyor ama neyse..

Şimdi gridView1 nesnenize veritabanından herhangi istediğiniz bir kaç veri çekiniz.

Bu arada hatırlatmadan geçmeyelim. gridView nesnesine checkbox kolon nasıl eklediğimizi bir önceki yazımda anlatmıştım. İlgenen arkadaşlarım o yazımı okuyabilirler.

Önce bir sınıf oluşturuyorum(class).

class MyClass
{
    public int No { getset; }
    public string Ad { getset; }
}

Burdaki No gridView1 nesnemizdeki 1. kolon. Ad ise 2.kolon ismidir.

Şimdi gelelim butonun kodlarını yazmaya.

private void simpleButton2_Click(object sender, EventArgs e)
{
    List<MyClass> entity = new List<MyClass>();
    string value = "";
    for (int i = 0; i < gridView1.RowCount; i++)
    {
        value = gridView1.GetDataRow(i)["Seç"].ToString();
        if (value == "True")
        {
            MyClass my = new MyClass();
            my.No = Convert.ToInt32(gridView1.GetRowCellValue(i, "No"));
            my.Ad = gridView1.GetRowCellValue(i, "Ad").ToString();
            entity.Add(my);
        }
    }
}
gridControl2.DataSource = entity;

Kodları incelediğimiz zaman; Seç isimli checkbox kolonunda seçili olanlardan No ile Ad kolonundaki bilgileri gridView2’ye aktar demiş oluyoruz. İşte hepsi bu kadar. Burda daha fazla veri aktarmak isteyenler, oluşturduğumuz class içerisine istediklerini kolon adını yazıp, ardından if sorgusu içerisine aynı No ve Ad kolonlarını aktardığımız gibi, altına yazıp aktarma işlemini yapabilirler.

Tüm kod severlere kolay gelsin.