Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Görsel Programlama II Ders 3 Öğr.Gör. Mustafa KARABULUT.

Benzer bir sunumlar


... konulu sunumlar: "Görsel Programlama II Ders 3 Öğr.Gör. Mustafa KARABULUT."— Sunum transkripti:

1 Görsel Programlama II Ders 3 Öğr.Gör. Mustafa KARABULUT

2 Konular CurrencyManager sınıfı ◦ Veriler üzerinde gezinti yapabilmek DataTable üzerindeki verileri işlemek ◦ Ekleme, silme ve güncelleme

3 CurrencyManager sınıfı Formda herhangi bir kontrole ba ğ lanmış olan veri kayna ğ ı üzerinde işlem yapmayı sa ğ layan sınıftır ◦ Kayıtlar arası ileri-geri gezinti ◦ Yeni kayıt ekleme ◦ Kayıt silme ◦ Kayıt güncelleme Bu sınıf işlemlerini orijinal veri kayna ğ ı (ör: SQL Server veritabanı) üzerinde de ğ il, onun yerel kopyası (ör: DataTable) üzerinde gerçekleştirir.

4 CurrencyManager sınıfı

5 Veri herhangi bir kontrole ba ğ landıktan sonra BindingContext ve DataTable sınıflarını kullanarak CurrencyManager alınır. DataTable dt = new DataTable( ); dt.Load(cmd.ExecuteReader() ); dataGridView1.DataSource = dt; CurrencyManager cm = (CurrencyManager) BindingContext[ dt ];

6 CurrencyManager sınıfı CurrencyManager sınıfı özellikleri Özellik İ şlev cm.PositionAktif kaydın sıra numarasını verir (0’dan başlayarak) cm.CountDataTable üzerindeki kayıt sayısını verir cm.CurrentAktif kaydın kendisini verir (DataRow nesnesi olarak)

7 CurrencyManager sınıfı CurrencyManager sınıfı metotları Metot İ şlev cm.AddNew()DataTable’a yeni, boş bir kayıt ekler cm.RemoveAt()Sıra numarası verilen kaydı siler cm.EndCurrentEdit()Aktif olarak kullanıcı tarafından de ğ iştirilen kaydın güncellemesini tamamlar cm.CancelCurrentEdit()Aktif olarak kullanıcı tarafından de ğ iştirilen kaydın de ğ işiklerini iptal eder (geri alır)

8 CurrencyManager sınıfı CurrencyManager sınıfı ile yapılan de ğ işiklikler DataTable üzerinde gerçekleşir. Dolayısıyla DataTable hangi görsel kontrole ba ğ lı ise de ğ işiklikler o görsel kontrole de yansır Görsel kontrol üzerinde kullanıcı tarafından elle yapılan de ğ işiklikler de DataTable’a yansımaktadır DataTable üzerindeki de ğ işiklikler orijinal veritabanı verilerini etkilemez, sadece yerel kopya de ğ iştirilmektedir.

9 CurrencyManager sınıfı CM kullanarak kayıtlar arası gezebilmek için Position özelli ğ ini artırmak veya azaltmak gerekmektedir. Bir sonraki kayda gitmek için ◦ cm.Position = cm.Position + 1 ◦ veya ◦ cm.Position++; Bir önceki kayda gitmek için ◦ cm.Position = cm.Position – 1; ◦ Veya ◦ cm.Position--;

10 CurrencyManager sınıfı İ lk kayda gitmek için ◦ cm.Position = 0; İ kinci kayda gitmek için ◦ cm.Position = 1; Son kayda gitmek için ◦ cm.Position = cm.Count – 1;

11 CurrencyManager sınıfı İ lk kaydı silmek için ◦ cm.RemoveAt ( 0 ); İ kinci kaydı silmek için ◦ cm.RemoveAt ( 1 ); Son kaydı silmek için ◦ cm.RemoveAt ( cm.Count – 1); Aktif kaydı silmek için ◦ cm.RemoveAt ( cm.Position );

12 CurrencyManager sınıfı Aktif kaydı kullanıcı onayı alarak silmek için DialogResult d = MessageBox.Show( “Silme onayı”, “Kaydı silmek istiyor musunuz?”, MessageBoxButtons.YesNo ); if (d == DialogResult.Yes) { cm.RemoveAt (cm.Position); }

13 Örnek uygulama Musteriler tablosunu DataGridView’a ba ğ layalım DataGridView üzerinde ileri-geri-ilk-son kayda gitmek için dü ğ meler… Aktif kaydı silmek için bir dü ğ me… Yeni kayıt eklemek için de bir dü ğ me yerleştirelim

14 Örnek uygulama

15 Form_Load sırasında veri SqlConnection, SqlCommand ve DataTable kullanılarak çekilir

16 Örnek uygulama CurrencyManager nesnesi global olarak tanımlanır ve Form_Load içinde alınır

17 Örnek uygulama Daha sonra her dü ğ menin click olayında “cm” nesnesine erişerek istenen işlemler yapılır.

18 Örnek uygulama Kayıtlar arası gezinti sırasında aktif kaydı aşa ğ ıdaki şekilde göstermek için Label1.Text = (cm.Position + 1) + “ / ” + cm.Count; Bu kod parçası her gezinti düğmesinin click olayı içinde tekrar etmelidir.


"Görsel Programlama II Ders 3 Öğr.Gör. Mustafa KARABULUT." indir ppt

Benzer bir sunumlar


Google Reklamları