Görsel Programlama II Ders 9 Öğr.Gör. Mustafa KARABULUT
Konular Örnek uygulama DataGridView özellikleri DataGridView olayları LIKE kullanarak arama SQL ile yapmak Bulunan kayıtları Master-Detail form ile göstermek DataGridView özellikleri EditMode ile kullanıcının işlem yapmasını engellemek DefaultCellStyle ile renkleri değiştirmek DataGridView olayları SelectionChanged olayı ile seçimi yakalamak
Örnek uygulama Aranan metin Kodunda veya adında aranan metin geçen satıcılar Seçili satıcıya ait ürünler
Örnek uygulama TextBox içinde geçen metni (ör: “d” harfi) satıcı adında ve kodunda aramak için LIKE ifadesi kullanılır SELECT * FROM saticilar WHERE satici_id LIKE ‘%d%’ OR satici_ad LIKE ‘%d%’
Örnek uygulama Aranacak değer dinamik olarak bir değişkenden veya kontrolden gelecekse değişken kullanımı gerekecektir SELECT * FROM saticilar WHERE satici_id LIKE ‘%’ + @s + ‘%’ OR satici_ad LIKE ‘%’ + @s + ‘%’ cmd.Parameters.AddWithValue(“@s”, textBox1.Text);
Örnek uygulama Uygulamayı oluştururken Bağlantı Form_Load içinde tanımlanacak ama hiç kullanılmayacak. Sadece diğer olaylar içinde açılıp kapanacak Bunun için bağlantı nesnesi global bir nesne olmalıdır
Örnek uygulama “c” global olarak tanımlanmış, bağlantı nesnesi
Örnek uygulama Kullanıcı textBox içinde değer yazdıkça “satıcılar” tablosunda yapılacak arama işlemi ile dataGridView1 doldurulacak Düğmeye basmadan, klavyeden textBox1’e değer yazıldıkça arama işleminin çalışması için textBox1’in TextChanged olayı kullanılır. Bu olay içinde aranacak değer alınır ve veritabanını sorgulamak için kullanılır Bulunan kayıtlar dataGridView1 içine doldurulur
Örnek uygulama
Örnek uygulama textChanged olayı içinde yazılacak kodlar Aranan değerin alınması Veritabanının sorgulanması ve kayıtların DataTable içine doldurulması Kayıtların gösterilmesi
Örnek uygulama Bu kod parçasında dikkat edilecek husus: Bağlantının kapatılmasından sonra dataGridView1 ile DataTable’in ilişkilendirilmesi Bağlantı açıkken bu işlem yapılırsa, dataGridView1 içinde kayıt değiştikçe seçilen kayda ait ürünlerin dataGridView2 içinde gösterilmesi için çalışacak sorgulama işlemi ile çakışacak ve hata verecektir
Örnek uygulama dataGridView1 içinde seçili satıcıya ait ürünler dataGridView2 içinde gösterilecektir. Bunun için dataGridView1’in SelectionChanged olayı kullanılacaktır Geçen derste bu işlemi yapabilmek için CellContentClick olayı kullanılmıştı
Örnek uygulama CellContentClick: Kullanıcı mouse ile hücreye tıkladığında oluşur ve sadece mouse ile seçim yapıldığında çalışmaktadır SelectionChanged: Kullanıcı mouse veya klavye ile seçili satırı değiştirdiğinde oluşur.
Örnek uygulama SelectionChanged olayının dataGridView1 için oluşturulması
Örnek uygulama dataGridView1 üzerinde tüm satırın aynı anda seçilebilmesi için SelectionMode = FullRowSelect Kullanıcının tıklaması ile verinin değiştirilmesini engellemek için (ReadOnly yapmak) EditMode = EditProgrammatically Seçili satırın varsayılan mavi yerine kırmızı renkte görünmesi için DefaultCellStyle özelliği değiştirilir
Örnek uygulama SelectionBackColor: Seçilen satırın arkaplan rengi SelectionForeColor: Seçilen satırın yazı rengi BackColor: Normal satırların arkaplan re. ForeColor: Normal satırların yazı rengi
Örnek uygulama SelectionChanged olayına yazılan kod:
Örnek uygulama Kodlar dataGridView1’de seçili satır varsa çalışacaktır. dataGridView1’de seçili olan kayda ait ürünler sorgulanacak ve dataGridView2’e bağlanacaktır Bu ikinci kod parçasında da dataGridView2’e verilerin bağlanması, veritabanı bağlantısının kapanmasından sonra yapılmıştır
Örnek uygulama Uygulamanın son hali: Seçim yapılabiliyor Seçim yapılamıyor