Merhaba arkadaşlar;
Bugün GetChanges() metodunu ile datatable içinde ki değişiklerimizi yakalayacagız.
Kısaca anlatacak olursak;
Database den çektigimiz veriler datatable ye doldurulur ve dataGridview controlüne basılır.
Burdan bilinmesi gereken bir şey vardır.
dataGridView1.DataSource=dt; komutu ile Datatable ve dataGridView kontrolü artık bütünleşmiştir. dataGridView de yaplan bütün değişikler aynen dt de de işlenir. İşte bu hareketleri yaklamak için yapmamız gerekenler kodlar...
Yapılabilecek hareketler ve anlamları
DataRowState.Added Eklenenler kayıtlarDataRowState.Deleted Silinenler kayıtlar
DataRowState.Detached Araştırınız
DataRowState.Unchanged Enson AcceptChanges çalıştırılmasından sonra yapılan değişiklikler
Buyrun kodlara...
DataTable dt;
private void btnDegisiklikler_Click(object sender, EventArgs e)
{
dataGridView2.DataSource = dt.GetChanges(DataRowState.Modified);
//Değişikleri gösterir
dt.GetChanges() metodu parametresiz olarak kullanıldıgında dt içinde ki değişikleri değiştirilen kayıtları getirir.
private void btnDb_Click(object sender, EventArgs e)
{
dt = new DataTable();
SqlConnection conn = new SqlConnection("Server=.;Database=TEST;Uid=sa;Pwd=123");
SqlCommand mCommand = new SqlCommand("Select * From DEPO1", conn);
SqlDataAdapter adp = new SqlDataAdapter(mCommand);
adp.Fill(dt);
dataGridView1.DataSource = dt;
}
Yorum Gönder