none
BAŞKA FORMDAN BAŞKA FORMDAKİ DATAGRİDVİEW'İ YENİLEME RRS feed

  • Soru

  • Merhaba Arkadaşlar;

    Sorunumu kısaca açıklamaya çalışıcam.

    2 Adet formum var sayalım. Form1 den düzenle butonuna tıklıyorum Form2 açılıyor ve Form2 deki datagridview'den İstediğim satırı seçip Form1'deki textboxlara aktarıyorum ve ekle,düzenle,sil işlemleri yapıyorum buraya kadar hiç bir sorun yok. Aynı Form içinde listele(); kullanıyorum ve ekleme,silme,düzenleme işlemlerinde datagridview'i yeniliyorum. Bu yenileme işlemini Form1 de ekleme,silme veya güncelleme işlemlerinde sonra Form2'deki datagridview'i nasıl yenileyebiliriz.

    Değerli yorumlarınızı ve yardımlarınızı bekliyorum. Şimdiden teşekkürler.

    23 Mayıs 2017 Salı 07:02

Yanıtlar

  • public void Form2_Listele()
    {
        using (MySqlDataAdapter dAdapter = new MySqlDataAdapter("Select * From arizakaydi", bag))
        {
            using (DataTable dTable = new DataTable())
            {
                dAdapter.Fill(dTable);
                dataGridView1.DataSource = dTable; 
            }
        }
    }
    

    Form1 içerisinde,

    //Kayıt işlemini tamamladıktan sonra...
    Form2 f2 = (Form2)Application.OpenForms["Form2"];
    f2.Form2_Listele();


    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...

    • Yanıt Olarak İşaretleyen Toprak Volkan 29 Mayıs 2017 Pazartesi 14:08
    29 Mayıs 2017 Pazartesi 13:10

Tüm Yanıtlar

  • Yorum için teşekkür ederim ama malesef. Yapmak istediğim Ekleme işlemi ile birlikte gridviewi güncelleme ve gridview diğer formda aynı form içinde değil. Yani farklı bir butona tıkladığım zaman yenileme işlemi yapmıycam. Yeni Kayıt eklediğimde veya güncellediğimde Ekle veya güncelle butonuna basınca diğer formdaki gridview güncellenicek.
    23 Mayıs 2017 Salı 08:14
  • Öncelikle yaklaşımınızın tam tersini uygulamanızı tavsiye ederim.

    Yani DataGridView Form1 de olmalı ve düzenlemek istediğiniz satıra çift tıkladığınızda

    Form2 açılmalı ve düzenlemelerinizi Form2 de yapıp kaydetmelisiniz.

    Sorunuzun yanıtına gelince,

    DataTable dTable = new DataTable();
    // Burada Verilerinizi DataTable'a çeken kodlarınız olmalı...
    Form2 f2 = (Form2)Application.OpenForms["Form2"];
    f2.dataGridView1.DataSource = dTable; 
    // dataGridView1'in modified özelliği public olmalı...

    Başarılar...


    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...

    • Yanıt Olarak Öneren Yunus Polat 28 Mayıs 2019 Salı 05:07
    23 Mayıs 2017 Salı 11:23
  • Anlık olarak değişmesini istiyorsan SqlDepency   kullana bilirsin.

    Agha Huseynov

    24 Mayıs 2017 Çarşamba 09:24
  • Öncelikle yaklaşımınızın tam tersini uygulamanızı tavsiye ederim.

    Yani DataGridView Form1 de olmalı ve düzenlemek istediğiniz satıra çift tıkladığınızda

    Form2 açılmalı ve düzenlemelerinizi Form2 de yapıp kaydetmelisiniz.

    Sorunuzun yanıtına gelince,

    DataTable dTable = new DataTable();
    // Burada Verilerinizi DataTable'a çeken kodlarınız olmalı...
    Form2 f2 = (Form2)Application.OpenForms["Form2"];
    f2.dataGridView1.DataSource = dTable; 
    // dataGridView1'in modified özelliği public olmalı...

    Başarılar...


    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...

    Olmadı mağlesef yada uygulayamadım.

    29 Mayıs 2017 Pazartesi 10:55
  • Örneğin aynı formdaki gridviewi yenilemek için böyle bir kod kullanıyorum. Örneğin Kayıt Ekle Butonuma listele(); Komutunu Kullanıyorum ve her işlemde gridviewi yeniliyor.

           private void listele()
            {
                tablo.Clear();
                MySqlDataAdapter adtr = new MySqlDataAdapter("Select * From arizakaydi", bag);
                adtr.Fill(tablo);
                dataGridView1.DataSource = tablo;
            }

    29 Mayıs 2017 Pazartesi 10:57
  • public void Form2_Listele()
    {
        using (MySqlDataAdapter dAdapter = new MySqlDataAdapter("Select * From arizakaydi", bag))
        {
            using (DataTable dTable = new DataTable())
            {
                dAdapter.Fill(dTable);
                dataGridView1.DataSource = dTable; 
            }
        }
    }
    

    Form1 içerisinde,

    //Kayıt işlemini tamamladıktan sonra...
    Form2 f2 = (Form2)Application.OpenForms["Form2"];
    f2.Form2_Listele();


    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...

    • Yanıt Olarak İşaretleyen Toprak Volkan 29 Mayıs 2017 Pazartesi 14:08
    29 Mayıs 2017 Pazartesi 13:10
  • İlginiz ve Alakanız için gerçekten çok teşekkür ederim. Sorunumu her zaman ki gibi siz çözdünüz.
    29 Mayıs 2017 Pazartesi 14:09
  • Adamsın 2 saattir uğraşıyordum, sorunu senin sayende çözdüm, eyvallah.
    28 Mayıs 2019 Salı 05:07