Asp.Net GridView’ da Update Insert Delete İşlemleri
ASP.NET 2.0 Kontrollerinden GridView veri tabanıyla yapılan işlemlerde çok önemli bir yer tutmaktadır. Hatta birincil kontroldür deyebiliriz. GridView'u veri tabanına bağlamak için bir çok yöntem kullanılabilmektedir. Bunlar SqlDataSource, ObjectDataSource, AccessDataSource, EntityDataSource, LinqDataSource, XMLDataSource kontrolleridir. Veri tabanındaki tablomuzu kod yazmadan hatta kolon isimlerini bile yazmadan bu kontroller sayesinde kolayca gridview içinde gösterebiliriz.
Bu yazımızda bir örnek üzerinden veri tabanındaki verileri bir DataTable üzerinde tutarak ihtiyacımız olan insert, update ve delete kontrollerini kod yazarak yaptırmayı anlamaya çalışacağız.
Başlangıç olarak veri tabanı içerisinde kullancağım tablonun senaryosunu vermek istiyorum. Bir personel tablosu oluşturmayı uygun gördüm.
Veri tabanı içinde tablomuzu oluşturduktan sonra, VisualStudio içinde projemizi ASP.NET AJAX Enabled Website olarak açıyoruz.
Sonraki adımda yapmamız gereken webcofig’imizin içinde ConnectionString cümlesi tanımlamak. Bu sayede proğram içinde sql bağlantımızı sağlamış olacağız. Onuda Web.config içinde system.web taginin üstüne aşağıdaki şekilde yazabiliriz.
Projemizin içine yeni bir class ekleyelim PersonelCls.cs bu class içinde db den verileri getirme, düzenleme, değiştirme ve silme işlemlerini yapacağız.
Bu adımda GridView un Smart Navigation Tagına tekrar tıklayarak Edit Template seçiyoruz. Display in içinden kolonlarımız düzenlemeye başlıyoruz.
Ad, Soyad ve Şehir kolonlarında aynı işlemleri tekrarlayacağız. ItemTemplate içine bir tane label sürükleyip bırakıyoruz. Label in yanındaki smart tag den Edit Data Bindings te aşağıdaki gibi Custom binding seçip Code expression içine Eval(“Adi”) kod unu yazıyoruz. EditItemTemplate içine 1 tane TextBox sürükleyip önce propertylerinden ID sini txtAdi olarak değiştiriyoruz. Daha önce label a yaptığımız işlemin aynısını burda da yapıyoruz ama burada yazacağımız kod Bind(“Adi”). Eval database üzerinde kayıtlı olan veriyi label üzerinde görmemizi sağlar, Bind ise bizim görmemizi sağladığı gibi üzerinde yaptığımız değişikliği database üzerindede günceller. FooterTemplate üzerine bir tane TextBox koyuyoruz bunun ID sini de txtYeniAd olarak değiştiriyoruz.
Medeni Durum kolonuna sıra geldiğinde ItemTemplate içine bir label, EditItemTamplate içine bir tane DropDownList sürükleyip bırakıyoruz. Smart tag den EditItemsi seçerek
Şeklinde bir düzenleme yapıyoruz. Ayrıca EditDataBindings’ine Bind(“MedeniDurumu”) yazmayı unutmayalım. Sıra geldi Edit ve Delete kolonlarını düzenlemeye. Edit Kolonunun EditItemTamplate içine 2 tane LinkButton sürüklüyoruz propertylerinden birinci butonu CasusesValidation true, CommandName Update, Text Update olarak düzenliyoruz. İkincisi içinde CasusesValidation False, CommandName Cancel, text Cancel düzenlemelerini yapıyoruz. FooterTemplate içine LinkButton sürüklüyoruz CasusesValidation false, CommandName AddNew, Text AddNew yaptıktan sonra kodlarımızın görünümü aşağıdaki gibi olacak.
Son adımda yapmamız gereken Default.aspx.cs sayfamızın içine gelerek PersonelCLS.class içinde yazdığımız methodları kullanmak. Daha önceden hazırladığımız bloglar içine gerkli kodları yazacağız.
GridView1_RowCommand içinde yeni satır eklerken kullanıcıdan aldığımız verileri FindControlle yakalayarak tablomuzun içine ekleyeceğiz. GridView1_RowCancelingEdit içinde satır üzerinde yapılan değişikliğin iptal edilmesini sağlayacağız. GridView1_RowUpdating içinde satır üzerinde yapılan değişikliğin database üzerindeki tablo içine kaydedilmesini sağlayacağız. GridView1_RowDeleting içinde tablo üzerindeki satırı silme işlemi yapacağız. Sonuç olarak namespace imiz böyle olacaktır.
Sonuç olarak bu yazımızda ASP.NET GridView kontrolü üzerinden Select, Insert, Update, Delete işlemlerini kod yardımı ile nasıl yapabileceğimizi detaylı bir şekilde incelemeye çalıştık. Umarım sizin için yararlı olmuştur. Sermin YAĞCI http://serminyagci.blogspot.com