Bir DataGridView Verisini Diğer DataGridView'e Aktarma

Bugünlerde uğraştığım barkodlu satış programında kullandığım küçük bir işlemi sizlere aktarmak istiyorum. C# Winform’da datagridview’in içindeki veriler başka bir datagridview’e nasıl aktarılır? Aslında yapacağımız c# datagridview kopyalama işlemi.

Kullandığım nesneler

1. bIslemBeklet adında buton, text özelliği “İşlem Beklet”

2. gridSatisListesi adında datagridview

3. gridBekle adında datagrid

Butona tıkladığımızda gridSatisListesi’ndeki veriler gridBekle datagridview’ine aktarılacak, bIslemBeklet butonunun text özelliği “İşlem bekliyor” yazacak, rengi OrangeRed olarak ayarlanacak, gridSatisListesi satırları temizlenecek.

İşlem beklemedeyken (butonun text özelliği “İşlem bekliyor” iken) butona tıklandığında tam tersi işlem yapılacak. Yani gridBekle’deki veriler gridSatisListesi’ne aktarılacak, butonun text’ine “İşlem Beklet” yapacak, butonun rengi eski haline (dimgray) dönecek.

Önce Bekle ve BeklemedenCik adında iki metod yazıyoruz.

private void Bekle()
        {
            int satir = gridSatisListesi.Rows.Count;
            int sutun = gridSatisListesi.Columns.Count;
            if (satir > 0)
            {
                for (int i = 0; i < satir; i++)
                {
                    gridBekle.Rows.Add();
                    for (int j = 0; j < sutun - 1; j++)
                    {
                        gridBekle.Rows[i].Cells[j].Value = gridSatisListesi.Rows[i].Cells[j].Value;
                    }
                }
            }
        }
        private void BeklemedenCik()
        {
            int satir = gridBekle.Rows.Count;
            int sutun = gridBekle.Columns.Count;
            if (satir > 0)
            {
                for (int i = 0; i < satir; i++)
                {
                    gridSatisListesi.Rows.Add();
                    for (int j = 0; j < sutun - 1; j++)
                    {
                        gridSatisListesi.Rows[i].Cells[j].Value = gridBekle.Rows[i].Cells[j].Value;
                    }
                }
            }
        }

Yukarıda sarı alanla belirtilen kod kısmında sutun-1'i yazmamın sebebi, benim resimde de görüleceği üzere son sütunlar image alanları. Ondan dolayı son sütunu döngü içerisine almıyorum.

bIslemBeklet butonunun click olayına aşağıdaki kodları yazıyoruz.

        private void bIslemBeklet_Click(object sender, EventArgs e)
        {
            if (bIslemBeklet.Text == "İşlem Beklet")
            {
                Bekle();
                bIslemBeklet.BackColor = System.Drawing.Color.OrangeRed;
                bIslemBeklet.Text = "İşlem Bekliyor";
                gridSatisListesi.Rows.Clear();
            }
            else
            {
                BeklemedenCik();
                bIslemBeklet.BackColor = System.Drawing.Color.DimGray;
                bIslemBeklet.Text = "İşlem Beklet";
                gridBekle.Rows.Clear();
            }
        }





İyi çalışmalar...



Etiketler
datagridview datagridview kopyalama c# datagridview
Mesaj Yaz