Bu yazımızda C# Windows Form’ da TextBox kontrollerine girilen verilerin DataGridView içine satır olarak eklenmesini gösteren basit bir örnek gerçekleştireceğiz. Örneğimizde 3 adet textBox kullanacağız.
Bu TextBoxlara girilen verileri EKLE Butonuna tıkladığımız zaman DataGrid içine satır olarak ekleyeceğiz. Bunun yanı sıra SİL butonunu kullanarak seçili olan satırın dataGridView üzerinde silinmesini sağlayacağız. Formumuzun tasarımı aşağıdaki gibi olacaktır.
Yapılış Videosu:
Kodlarımıza geçelim. Öncelikle bir kendimize bir tablo adında DataTable nesnesi oluşturacağız.
1 2 3 | DataTable tablo = new DataTable(); |
Daha sonra DataGridView içinde istediğimiz sütunları oluşturalım. Bu işlem için kodlarımızı Form_Load olayına yazacağız.
1 2 3 4 5 6 7 8 9 10 | private void Form1_Load(object sender, EventArgs e) { tablo.Columns.Add("ID", typeof(int)); tablo.Columns.Add("GİDER", typeof(string)); tablo.Columns.Add("TUTAR", typeof(int)); dataGridView1.DataSource = tablo; } |
Şimdi de EKLE butonuna basıldığında DataGridView içine TextBox verilerini ekleyecek kodlarımızı yazalım.
1 2 3 4 5 6 7 | private void button1_Click(object sender, EventArgs e) { tablo.Rows.Add(textBox1.Text, textBox2.Text, textBox3.Text); dataGridView1.DataSource = tablo; } |
SİL butonu için DataGridView‘ de seçili satırı silecek kodlarımızı oluşturalım.
1 2 3 4 5 6 7 8 9 10 11 12 13 | private void button2_Click(object sender, EventArgs e) { if (dataGridView1.SelectedRows.Count > 0) { dataGridView1.Rows.RemoveAt(dataGridView1.SelectedRows[0].Index); } else { MessageBox.Show("Lüffen silinecek satırı seçin."); } } |
Projemizi çalıştıralım.
Access ile Veritabanı kullanarak DataGridView İşlemi yapmak için:
SQL Server ile Veritabanı kullanarak DataGridView İşlemi yapmak için:
hocam merhaba, öncelikle değerli anlatımlarınız için çok teşekkürler.
Tek bir forma birden fazla ilişkisiz tablodan veri çekmenin bir yolu var mıdır?
örneğin, bir vagon/tır takip formum var.
A, B, C ve D firmalarının her biri için ayrı tablolarım var. ve zaman içerisinde eklemeler de olabilmekte.
Tek bir formda, araca yükleme yaparken eşya adı yazan textbox’a veri aktaracağım zaman hangi tablonun eşya adı alanından ekleyeceğimi sormasını ve seçtirmesini sağlayabilir miyiz. teşekkürler..
Allah razı olsun senden kardeşim benim ya
Merhabalar
Benim kasano,paket,adet,kesim,metraj alanlarına sahip urun adında bir tablom var
ben datagrid’in ilk hücresine kasa noyu yazıp entere tıkladığımda o kasa numarasına ait bilgiler ilk satıra geliyor ancak benim yapmak istediğim her satırın ilk hücresine kasa no yazdığımda o satırlara o kasaya ait bilgiler gelsin.
Benim kullandığım kod bloğu
baglanti.Open();
int a = 0;
OleDbCommand cmd = new OleDbCommand(“Select kasano,hampaket,kesim,adet,metraj from urun where kasano='” + dataGridView1.Rows[a].Cells[0].Value + “‘”, baglanti);
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
OleDbDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
dataGridView1.Rows[a].Cells[1].Value = dr[“hampaket”].ToString();
dataGridView1.Rows[a].Cells[2].Value = dr[“kesim”].ToString();
dataGridView1.Rows[a].Cells[3].Value = dr[“adet”].ToString();
dataGridView1.Rows[a].Cells[4].Value = dr[“metraj”].ToString();
}
baglanti.Close();
a değişkenini döngüye soktuğum zaman bu sefer ilk satırada bilgi gelmiyor.
Yardımcı olursanız sevinirim.
Ahmet abi ben bunu yapamadım bana bunun hazır halini verebilir misin ?
Sevgili Ahmet Bey,
Datagridview’e tetxbox changed özelliği ile sql server’dan bilgi getirmek istiyorum, texbox’da değer değiştikçe bilgilerin datagridview’e eklenmesini nasıl sağlayabilirim. Teşekkürler.
Aşağıdaki linkte datagridview içinde filtreleme işlemi anlatılmakta. İşinizi görebilir.
http://www.yazilimkodlama.com/programlama/dataview-rowfilter-kullanarak-filtreleme-like-kullanimi/
Ahmet Bey, özür dilerim tam olarak istediğimi dile getiremedim galiba, amacım bos bir datagridview ekranı SQL Server’dan textBox’a yazılan değeri dataGridview alanına eklemek, textBox alanını sıfırlayıp bir alt satıra yine textBox’a girilen değere istinaden verileri datagridview’in 2. koluna ekleyerek aşağıya doğru işlemlere devam etmektir. Kısaca alt alta DataGridView alanına bilgiler eklemek.Teşekkürler.
Sevgili Ahmet Hoca Tutar kolonunun ilk satırı belli iken aşağıya doğru(1 sayı) nasıl artırabiliriz.
Yeni bir kayit eklediginizdemi artmasini istiyorsunuz. Yani her satir eklendiginde otomatik artan id numarasi gibi.
Örnek aşağıdaki gibi, Barkod kısmı oluştur komutu ile alta doğru 1er sayı artırmak istiyorum.
ID RENK BEDEN BARKOD
1 BLACK 36 8688960000016
2 BLACK 37
3 BLACK 38
4 BLACK 39
private void button2_Click(object sender, EventArgs e)
{
long barkodNo = Convert.ToInt64(dataGridView1.Rows[0].Cells[3].Value);
for (int i=1;i<(dataGridView1.RowCount-1);i++) { dataGridView1.Rows[i].Cells[3].Value = ++barkodNo; }}
Teşekkürler.
dataGridView1.DataSource = tablo; ne işe yarıyor
Datasource Datagridviewin gosterecegi datalari nereden saglayacagini belirten ozelligidir.