none
DataGridView içini temizleme RRS feed

  • Genel Tartışma

  • Selam arkadaşlar...

    Bir sorum olacaktı.

    DataGridView'in içi verilerle dolu. Aynı formda başka bir butona tıklayıp sonra tekrar datagridview'in dolduğu butona tıklayınca aynı bilgiler yine sıralıyor. Butona bastıkça sıralanıyor.

    Kod kısmında şöyle denedim olmadı. DataGridView içini dolduracak bilgiyi aldım. Datagridview'i temizledim, sonra bilgiyi tekrar aldım. Ama bilgiler gelmedi. DataGrid'in içi boşaldı.

    Bunu nasıl yapabilirim?

    29 Nisan 2013 Pazartesi 22:47

Tüm Yanıtlar

  • Verileriniz nasıl geliyor (datatable, dataset, list vs.) ve datagride nasıl ekliyorsunuz verileri? Ben genelde Devexpress GridControl kullanıyorum o yüzden Microsoftun DataGridView'ını bilmiyorum ama DataSource kullanarak ekliyorsanız dataSource her değiştiğinde zaten değişecektir veri üzerine yazmaz diye biliyorum.


    Oğuz KURTCUOĞLU | Professional Software Developer http://www.oguzkurtcuoglu.com oguz[at]oguzkurtcuoglu[dot]com

    30 Nisan 2013 Salı 06:07
  • DataGridView.items.Clear(); gibi bir sye varsa onla silebilirsin.

    WebForm yaziyorsan. DataBind(); verileri siler.

    30 Nisan 2013 Salı 06:42
  • Amaç sadece datagridview da göstermemek ise datagridview1.DataSource="";
    30 Nisan 2013 Salı 07:41
  • Arkadaşlar şimdi şöyle, daha açayım konuyu...

    Ben emlak programı yazıyorum. Aynı formda Konut İlanları, Arsa İlanları, İşyeri İlanları vs... butonları var... Yine aynı formda bu ilanlara ait datagridviewler var. Konut ilanları butonuna tıklayınca datagrid konut ilanlarıyla doluyor. Sonra arsa ilanları butonuna tıklayınca arsa ilanları kendi datagridini dolduruyor. Ama tekrar Konut ilanları butonuna tıklayınca ilk başta gelen konut ilanları kalıyor, üstüne yine aynı veriler doluyor. O butona tıkladıkça aynı veriler doluyor...

    Kodlar ise şu şekilde...

    void Konut_Bilgileri_Listele()  //Konut Bilgileri Listele
            {
                baglan();
                da = new OleDbDataAdapter("Select * From Konut_Bilgileri", con);
                da.Fill(dt);             
                dataGridView1.DataSource = dt;           
            }

            void Arsa_Bilgileri_Listele()  //Arsa Bilgileri Listele
            {
                baglan();
                da2 = new OleDbDataAdapter("Select * From Arsa_Bilgileri", con);
                da2.Fill(dt2);
                dataGridView2.DataSource = dt2;
            }

    private void Konut_ilanlari_Click(object sender, EventArgs e)  //Konut İlanları
            {
                
                dataGridView1.Show();            
                dataGridView2.Hide();
                konut_butonlari_ac();
                arsa_butonlari_kapat();
                Konut_Bilgileri_Listele();
            }

            private void Arsa_ilanlari_Click(object sender, EventArgs e)  //Arsa İlanları
            {
                dataGridView1.Hide();
                dataGridView2.Show();
                konut_butonlari_kapat();
                arsa_butonlari_ac();                      
                Arsa_Bilgileri_Listele();            
            }


    30 Nisan 2013 Salı 11:57
  • Birde aşağıdaki şekilde dener misin Tüm listeleme metodlarında dataGridView1.DataSource = dt; kodundan önce dataGridView1.DataSource = null; şeklinde yazarsan olur sanırım.

    void Konut_Bilgileri_Listele()  //Konut Bilgileri Listele
    {
    	baglan();
    	da = new OleDbDataAdapter("Select * From Konut_Bilgileri", con);
    	da.Fill(dt);        
    	dataGridView1.DataSource = null;
    	dataGridView1.DataSource = dt;           
    }




    Oğuz KURTCUOĞLU | Professional Software Developer http://www.oguzkurtcuoglu.com oguz[at]oguzkurtcuoglu[dot]com


    30 Nisan 2013 Salı 12:15
  • Yok, olmadı. Sorun aynı şekilde devam ediyor.
    30 Nisan 2013 Salı 12:17
  • Arkadaşlar omerkonateke arkadaşın verdiği cevabı uyarladım, oldu. Bağlandıktan sonra datatable içini boşaltıp, bilgileri aldım. Sorun düzeldi. Hepinize uğraştığınız, zaman ayırdığınız için teşekkür ederim.
    30 Nisan 2013 Salı 12:22
  • Aynen oyle 
    22 Kasım 2016 Salı 16:19
  • //öncelikle silelim datagridin içini
    dataGridView1.Rows.Clear();
    //tamamen tüm satırları temizledi sonra
    for(int x = 0 ; x<30 ; x++)
    dataGridView1.Rows.Add();
    //bu son kod ilede silinen tüm satırların yerine boş satırları ekleriz(30 adet boş satır)


    24 Kasım 2016 Perşembe 20:44