C# C# Windows Form Örnekleri Programlama

DataGridView Kontrolü Genel Özellikleri

DataGridView kontrolü hücrelerden ve satırlardan oluşan tablo gösterimini sağlayan gelişmiş bir kontroldür. Veri tabanıyla bağlantı yapılarak tabloların gösterimi sağlanabilir veya program içerisinden statik veri girişi ile veri gösterimi sağlanabilir.

Başlıca Özellikleri:

AllowUserToAddRows: Kullanıcının yeni kayıt ekleyip ekleyemeyeceğini belirler.

AllowUserToDeleteRows: Kullanıcının mevcut kayıtları silip silemeyeceğini belirler.

BackGroundColor: Tablonun arka plan rengini belirler.

CellBorderStyle: Tablo hücrelerinin stillerini değiştirir.

Columns: Tablo sütunlarıyla ilgili işlemler, değişiklikler, font ayarları buradan yapılabilir.

DataSource: Veritabanı bağlantısı yapmayı sağlayan özelliktir.

DefaultCellStyle: Hücrelerin yazı fontlarını, formatını, rengini değiştirir.

MultiSelect: Hücreleri çoklu seçimine izin verilip verilmesini ayarlar.

ReadOnly: Yalnızca okunabilir hale getirir.

Rows: Satırlarla ilgili işlem yapmayı sağlar.

SelectionMode: Sütun, Satır ve hücre seçim şeklini belirler.

Visible: DataGridView’ in görünüp görülmemesini ayarlar.

Başlıca Olayları (Events):

CellClick: Hücreye tıklandığında çalışır.

CellContentClick: Hücre başlığına tıklantığında çalışır.

CellBeginEdit: Hücrenin düzenleme moduna girildiğinde çalışır.

CellEndEdit: Hücrenin düzenleme modundan çıkıldığında çalışır.

CellEnter: Hücreye girildiğinde çalışır.

ColumnAdded: Sütun eklendiğinde çalışır.

RowAdded: Satır eklendiğinde çalışır.

DataError: bir veri hatası oluştuğunda çalışır.

UserAddedRow: Kullanıcı satır eklediğinde çalışır.

UserDeletedRow: Kullanıcı satır sildiğinde çalışır.

Sorted: Sıralama yapıldığında çalışır.

DataGridView kontrolünün MouseClick, DoubleClick, Move, Enter, Up, Down gibi fare olayları  ve  KeyPress, KeyDown, KeyUp gibi klavye olayları da vardır.

Datagridview sütunlarını düzenleme videosu için tıklayın.

Ayrıca C# dilinde yazılmış daha fazla örnek ve konular için C# Dersleri yazısını yada sağ üstte bulunan site içinde arama panelini kullanabilirsiniz.

25 Yorum

  • Merhabalar hocam, C# datagridview nesnesiyle ilgili yapmak istediğim birşey var. Sizin yardımcı olabilceğinizi düşündüm. Müsait olduğunuzda bi yardım ederseniz sevinirim. Hocam yapmaya çalıştığım şey şu: Öncelikle n adet veri alıp birim matris oluşturuyorum. Daha sonrasında herhangi bir hücreye sayı giriyorum. Girdiğim o hücrenin satır ve sütununun tersine 1/osayı şeklinde yazdırmak istiyorum. Misal görselde olduğu gibi: Eğim Satırının Toprak Sütununa 3 yazdım diyelim, Toprak Satırının Eğim Sütununa 1/3 yazması şeklinde. Bunu yapabilmeme yardım eder misiniz rica etsem? E-posta adresiniz var ise görsel ile basitleştirmek isterim anlatımımı. İlginiz için çok teşekkür ederim.

  • Merhaba,

    C# form uygulamasında Datagrid de seçtiğim satırı textbox lara aktarıyorum ve textbox üzerinden verileri güncelliyorum. Günceleme sonrası datagrid i yeniliyorum ve tekrar aynı satırı seçip güncellenen verilerin textbox lara gelmesini sağlamaya çalışıyorum. Aşağıdaki kodlarla satırı seçiyor ve scroll da olması gereken yere gidiyor. Fakat textbox lara veriler gelmiyor. Maus ile tekrar o satıra tıklamak gerekiyor. Bu sorunu nasıl çözebilirim. Araştırdım ama bulamadım. Yardımcı olursanız sevinirim. Teşekkürler..

    dataGridView1.ClearSelection();
    dataGridView1.Rows[satirindex].Selected = true;
    dataGridView1.FirstDisplayedScrollingRowIndex = satirindex;

    • DataReader kullanarak halletim, bu şekilde datagrid de yenileme yapmama gerek kalmıyor. Ama yine de datagrid de istediğim satırı otomatik seçtirme(select değil Row enter gibi ) işini merak etmiyor değilim 🙂

  • Hocam veritabanına ekleme işlemi yapıyorum ekliyor fakat bir süre sonra eklediklerim kendiliğinden kayboluyor veritabanına bakıyorum tutarsızlık var falan hata alıyorum neden olabilir

    • Access bağlantısı mı yapıyorsunuz. Bin/Debug/ içinde exe dosyasını çalıştırdığınızda sorun oluyor mu?

  • Merhabalar Şimdi uygulama çalışırken datagridview’e değer girince veri tabanından güncelleniyor bunun nasıl önüne geçebilirim?

  • Hocam benim datagridimde bekliyor ve çözüldü adında iki sütunum var çözüldü işaretlendiği anda bekliyor false olması için hangi metotu kullanmalıyım

  • Hocam sellamlar

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using System.Data.SqlClient;

    namespace imalat
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }
    SqlConnection con;
    SqlDataAdapter da;
    DataSet ds;
    SqlCommandBuilder cmdb;
    private void toolStripTextBox1_Click(object sender, EventArgs e)
    {

    }

    private void Form1_Load(object sender, EventArgs e)
    {
    con = new SqlConnection(“server=SALON\\SQLEXPRESS; Initial Catalog=veri;Integrated Security=true”);
    con.Open();
    da = new SqlDataAdapter(“Select * from imalat”, con);
    ds = new DataSet();
    da.Fill(ds, “imalat”);
    dataGridView1.DataSource = ds.Tables[0];
    con.Close();
    dataGridView1.Columns[0].Visible = false;
    dataGridView1.Columns[1].Width = 70;
    dataGridView1.Columns[2].Width = 40;
    dataGridView1.Columns[3].Width = 80;
    dataGridView1.Columns[4].Width = 60;
    }

    private void button1_Click(object sender, EventArgs e)

    {
    cmdb = new SqlCommandBuilder(da);
    da.Update(ds, “imalat”);
    MessageBox.Show(“İŞLEM GERÇEKLEŞTİ”);
    }

    private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
    {

    }
    }
    }

    Öncelikle yazılıma yeni başlladım ve gerçekten hiç bir şey bilmiyorum.
    Netten bulduğum yukaridaki kodu yazdığımda dtgrdview in hücrelerine veri girdiğimde yeni kayıt yapıyor ancak sillme ve düzeltme(güncelleme)işlemlerini yapmıyor nasıl düzeltebilirim.
    Saygılar.

  • Hocam Merhaba
    Ben Rent a Car otomasyonu yapıyorum bunun içinde sözleşme kısmı var orada kirala dediğimde araç kiralandı diyor ve veri tabanına kaydediyor Asıl olayım şu benim veri tabanına kaydettiğim bilgileri (datagridwiev de gözükenleri) WORD e yazdırmak istiyorum bunu nasıl yapabilirim ?

  • Merhaba xml dosyası oluşturup datagridview'e tablo halinde aktardım.Sıkıntı tabloda seçilen veriyi değiştirip kaydetmek istiyorum.Yardım ederseniz sevinirim iyi günler.

  • attığınız linke baktım ama benim istediğim şeyi yapmıyor. textbox a veriyi yazınca datagridview de gözüken bilgi textbox temizlenince kaybolamyacak farklı bir arama yapnca diğer çıkan bilginin alt satırında gözükmesi gerekiyor. yani yapılan aramaların listesini görmek gibi bir proje.

  • Merhaba ben bir proje yapıyorum öğrenci yoklama sistemi gibi textbox a veri girildikçe datagridview de aramaya göre satır satır listelenmesini istiyorum. Bunu yapmam mümkün müdür? Mümkünse nasıl yapabilirim?

  • Hocam iyi akşamlar. Veri tabanından çektiğim kayıtları datagrid de listeledim. Daha sonra datagrid de seçtiğim satırda ki değerleri veri tabanında başka bir tabloya aktarmak istedim ve burada satır seçildiğinde bu kaydı tabloya nasıl aktarabilirim ? Rows özelliğini kullanarak dataGridView1.CurrentRow olarak devam etmek istedim ama edemedim 🙂 Yardımınız için şimdiden teşekkürler.

    • string ad=dataGridView1.CurrentRow.Cells[0].Value.ToString();
      string soyad=dataGridView1.CurrentRow.Cells[1].Value.ToString();

      şeklinde ulaşabilirsiniz. Bunları değişkene aktardıktan sonra insert into kullanarak diğer tabloya da ekleyebilirsiniz..

  • hocam veritabanından çektiğim verileri datagridview de listeliyorum sorunum şu her hangi bir sütuna tıklayıp bir harfe basınca içeriği siliniyor onu engelleme nasıl olacak

    • tasarım görünümündeyken datagride tıklayın. Sağ üst köşede küçük bir üçgen göreceksiniz.Bu üçgene tıklayınca Enable Adding, Enable Editing,Enable Deleting işaretlerini kaldırın

admin için bir yanıt yazın X

Web Tasarım & Programlama sitesinden daha fazla şey keşfedin

Okumaya devam etmek ve tüm arşive erişim kazanmak için hemen abone olun.

Okumaya devam et