İstenilen kaydı datagridView’de gösterme C# Ders71

İstenilen kaydı datagridView’de gösterme C# Ders71

Daha fazla bilgi için : www.gorselprogramlama.com

İstenilen kaydı datagridView’de gösterme : Adaptör ile sql kodunu kullanarak tüm alanları dataGridView’de gösteriyorduk.Eğer istersek  istemediğimiz alanların görüntülenmesini engelleyebiliriz.

Örnek: Mesela Aşağıdaki access veri tabanındaki nosu ve sinifi alanlarının görüntülenmesini sağlayalım.

[code lang=”csharp”]

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Data.OleDb;

namespace veritabani_baglanti

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

} //Daha fazla bilgi için : www.gorselprogramlama.com

OleDbConnection bag = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=data.accdb");

DataTable tablo = new DataTable();

OleDbDataAdapter adtr = new OleDbDataAdapter();

private void Form1_Load(object sender, EventArgs e)

{

bag.Open();

OleDbDataAdapter adtr = new OleDbDataAdapter("select nosu,sinifi From ogrbil", bag);

adtr.Fill(tablo);

dataGridView1.DataSource = tablo;

adtr.Dispose();

bag.Close();

dataGridView1.Columns[0].HeaderText = "No";

dataGridView1.Columns[1].HeaderText = "Sınıfı";

}

} //Daha fazla bilgi için : www.gorselprogramlama.com

}

[/code]

***  Select sql koduna Where ile şart ekleyebiliriz.Ve bu sayede datagridView’de filtreleme yapabiliriz yani istediğimiz kayıtların görüntülenmesini sağlayabiliriz.

Örnek: Formumuza 1 adet textbox,1 adet buton ekleyelim.Butona tıkladığımızda textbox’a girdiğimiz isimdeki kayıtları göstersin.

[code lang=”csharp”]

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Data.OleDb;

namespace veritabani_baglanti

{ //Daha fazla bilgi için : www.gorselprogramlama.com

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

OleDbConnection bag = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=data.accdb");

DataTable tablo = new DataTable();

OleDbDataAdapter adtr = new OleDbDataAdapter();

private void Form1_Load(object sender, EventArgs e)

{

bag.Open();

OleDbDataAdapter adtr = new OleDbDataAdapter("select * From ogrbil", bag);

adtr.Fill(tablo);

dataGridView1.DataSource = tablo;

adtr.Dispose();

bag.Close();

dataGridView1.Columns[0].HeaderText = "No";

dataGridView1.Columns[1].HeaderText = "Adı";

dataGridView1.Columns[2].HeaderText = "Soyadı";

dataGridView1.Columns[3].HeaderText = "Sınıfı";

}

private void filtrele_Click(object sender, EventArgs e)

{ //Daha fazla bilgi için : www.gorselprogramlama.com

tablo.Clear();

bag.Open();

OleDbDataAdapter adtr = new OleDbDataAdapter("select * From ogrbil Where adi=’"+textBox1.Text+"’", bag);

adtr.Fill(tablo);

dataGridView1.DataSource = tablo;

adtr.Dispose();

bag.Close();

}

}

}

[/code]

Örnek: Butona tıkladığımızda textbox’a girdiğimiz sınıftaki kayıtları göstersin.

[code lang=”csharp”]

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Data.OleDb;

namespace veritabani_baglanti

{

public partial class Form1 : Form

{ //Daha fazla bilgi için : www.gorselprogramlama.com

public Form1()

{

InitializeComponent();

}

OleDbConnection bag = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=data.accdb");

DataTable tablo = new DataTable();

OleDbDataAdapter adtr = new OleDbDataAdapter();

private void Form1_Load(object sender, EventArgs e)

{

bag.Open();

OleDbDataAdapter adtr = new OleDbDataAdapter("select * From ogrbil", bag);

adtr.Fill(tablo);

dataGridView1.DataSource = tablo;

adtr.Dispose();

bag.Close();

dataGridView1.Columns[0].HeaderText = "No";

dataGridView1.Columns[1].HeaderText = "Adı";

dataGridView1.Columns[2].HeaderText = "Soyadı";

dataGridView1.Columns[3].HeaderText = "Sınıfı";

}

private void filtrele_Click(object sender, EventArgs e)

{

tablo.Clear();

bag.Open();

OleDbDataAdapter adtr = new OleDbDataAdapter("select * From ogrbil Where sinifi=’" + textBox1.Text + "’", bag);

adtr.Fill(tablo);

dataGridView1.DataSource = tablo;

adtr.Dispose();

bag.Close();

}

}

} //Daha fazla bilgi için : www.gorselprogramlama.com

[/code]

Örnek: İkinci buton ekleyelim.Bu eklediğimiz butona tıklandığında tüm kayıtları göstersin.

[code lang=”csharp”]

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Data.OleDb;

namespace veritabani_baglanti

{

public partial class Form1 : Form

{//Daha fazla bilgi için : www.gorselprogramlama.com

public Form1()

{

InitializeComponent();

}

OleDbConnection bag = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=data.accdb");

DataTable tablo = new DataTable();

OleDbDataAdapter adtr = new OleDbDataAdapter();

void listele()

{

tablo.Clear();

bag.Open();

OleDbDataAdapter adtr = new OleDbDataAdapter("select * From ogrbil", bag);

adtr.Fill(tablo);

dataGridView1.DataSource = tablo;

adtr.Dispose();

bag.Close();

}

private void Form1_Load(object sender, EventArgs e)

{

listele();
dataGridView1.Columns[0].HeaderText = "No";

dataGridView1.Columns[1].HeaderText = "Adı";

dataGridView1.Columns[2].HeaderText = "Soyadı";

dataGridView1.Columns[3].HeaderText = "Sınıfı";

} //Daha fazla bilgi için : www.gorselprogramlama.com

private void filtrele_Click(object sender, EventArgs e)

{

tablo.Clear();

bag.Open();

OleDbDataAdapter adtr = new OleDbDataAdapter("select * From ogrbil Where sinifi=’" + textBox1.Text + "’", bag);

adtr.Fill(tablo);

dataGridView1.DataSource = tablo;

adtr.Dispose();

bag.Close();

}//Daha fazla bilgi için : www.gorselprogramlama.com

private void hepsiniGoster_Click(object sender, EventArgs e)

{

listele();

}

}

}

[/code]

Tüm kayıtları iki defa dataGridView’de göstermek zorundayız. 1.form load’da 2.Hepsini  Göster butonu tıklanınca. Bu kodları iki defa yazmak yerine listele isimli bir prosedür  oluşturup oradan çağırdım.Artık bu prosedür sayesinde istediğimiz zaman kodları yazmaya gerek kalmadan çağırabilirim.

Yorumlar 11

  • dersler harika.
    anlatanda iyi anlatınca.
    ellerine sağlık.

  • teşekkürler.

  • Çok teşekkürler Allah razı olsun sayenizde yaptım istediğim şeyi 🙂

  • Admin? nasıl indirebilirim bu programı??

  • Çoku süzme işlemi nasıl yaptırabilirim.Diyelim ki kayıt arama için 1’den çok textbox var. Sadece arama textbox’larına yazdığım bilgileri dataGridView’de göstersin. Ama bir sütunda aranan bilgiden 2 tane varsa diğer arama textbox’ındaki sadece 1 arama ile eşleşiyorsa o 2 sonuçtan sadece diğerleri ile eşleşeni göstersin.Örneğin 3 arama texbox’ı var. 1’inciye ayşe, 2’inciye şen, 3’üncüye 10A yazdığımda sadece 3’ü ile de eşleşen sonuçları göstersin. 3’üncü arama texbox’ına 10A yazdım diye bütün 10A’lar gösterilmesin. Çünkü o şekilde diğer texbox’lardaki kriterler geçersiz hale geliyor. Yardımcı olursanız sevinirim. Teşekkürler.

  • admin gözünü sevem su kaydırma cubugu vscrollbar kullanmayı göster
    griedview de

  • anlatımlarınız cok acık ve net emegınıze sağlık bu filtrelemeyi combobaxta secıli itemı filtrelemek istersek nasıl yapabılırz ?

  • Bu soruya hala cevap gelmemiş. İlgilenirseniz iyi olur. Gerçi 1,5 yıl geçmiş ama bi umut işte 🙂

    birsoru :
    Çoku süzme işlemi nasıl yaptırabilirim.Diyelim ki kayıt arama için 1′den çok textbox var. Sadece arama textbox’larına yazdığım bilgileri dataGridView’de göstersin. Ama bir sütunda aranan bilgiden 2 tane varsa diğer arama textbox’ındaki sadece 1 arama ile eşleşiyorsa o 2 sonuçtan sadece diğerleri ile eşleşeni göstersin.Örneğin 3 arama texbox’ı var. 1′inciye ayşe, 2′inciye şen, 3′üncüye 10A yazdığımda sadece 3′ü ile de eşleşen sonuçları göstersin. 3′üncü arama texbox’ına 10A yazdım diye bütün 10A’lar gösterilmesin. Çünkü o şekilde diğer texbox’lardaki kriterler geçersiz hale geliyor. Yardımcı olursanız sevinirim. Teşekkürler.

  • muzaffer:
    Aşağıdaki linkte bahsettiğiniz örnek mevcut.inceleyebilirsiniz.
    http://csharpvideoluders.com/videos/veri-tabaninda-kayit-arama-islemi-ders-103-c-c-sharp-access

  • klavyeden 3 kenarı girilen üçgenin türünü hesaplayan algoritması ve akış diyagramı yardımcı olurmusunuz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir