yazgelistir.com
  Ana Sayfa   Forumlar Hakkımızda
  
Loading... Yükleniyor. Lütfen bekleyin ...
 Kategoriler
ASP.NET
ADO.NET
Visual Basic .NET
Visual C# .NET
Visual Studio ve Araçlar
Windows Server System
Office System
.NET Framework
SQL Server
XML Web Servisleri
Yazılım Güvenliği
Yazılım Mühendisliği
Mobil Teknolojileri
Dynamics
Smart Client
Expression Studio
Silverlight
Kod Parçaları
Açık Kaynak Kodlu Uygulamalar
İş Zekası
Windows Mobile Embedded

    0
Çıkış Yap
Üyelik Bilgilerimi Güncelle
Seminerlerim
Favorilerim
Ajanım

 Yazgeliştir
Yazar olmak ister misiniz?
Forumlar
Kitap Önerileri
Haberler
Yazarlar
İpuçları
Görüşleriniz
Hakkımızda

  İstatistikler
En son kayıt olan üye:
mervelif

Şuanki online üyeler ( 11 ) :
jeqowo , gurdvim , YAVUZAKTAS , bgunel , erenyetim , ozkandanaci , mathsdas , Illuminati , ersintarhan , eturkoglu , bahadirbak
 

DorukNet 
     ASP.NET Kategorisi  » Asp.Net 2.0 GridView Kontrolünde Dinamik Update,Delete İşlemleri    

Asp.Net 2.0 GridView Kontrolünde Dinamik Update,Delete İşlemleri

Print Versiyonu


 
Yazar: Ali GÜNEŞ

Tarih:31.08.2008

Puan:3,83 (Oy Kullanan:18)

Okuma Sayısı:1749

  Makaleyi İşaretle


Makale Özeti
Bu makalemizde, AspNet 2.0 ile birlikte gelen ve yeni kontrollerden birisi olan GridView kontrolü üzerinde, veri güncelleme ve veri silme gibi işlemlerin programatik olarak nasıl yapılacağını incelemeye çalışacağız.


Makale

Asp.Net 2.0 GridView Kontrolünde Dinamik Update,Delete İşlemleri

Bu makalemizde, AspNet 2.0 ile birlikte gelen ve yeni kontrollerden birisi olan GridView kontrolü üzerinde, veri güncelleme ve veri silme gibi işlemlerin programatik  olarak nasıl yapılacağını incelemeye çalışacağız.

 Gridview veri kaynağından gelen verilerin düzenli bir şekilde istemci ekranında  görüntülenmesini sağlar.Asp.Net ten önce verilerin liste halinde görüntülenmesi için Table kullanırdık.Asp.Net 1.0 ve 1.1  ile geliştirdiğimiz web uygulamalarımızda ise  çok kullanışlı bir veri kontrol nesnesi olan Datagrid’i kullanırdık.Datagrid ile birlikte çeşitli veri kaynaklarından çekilen veriler çok kolay bir şekilde listelenebiliyordu.Asp.Net 2.0 ile birlikte Datagrid yerini daha gelişmiş bir kontrol olan Gridview ‘a bıraktı.

Gridview kontrolünün öne çıkan özelliklerini sayacak olursak;

  • Yeni datasource kontrollerini destekler.

  • Mobile ve diğer uygulamalarla uyumluluğu çok fazladır.

  • Hiç kod yazmadan gridview üzerinde paging ve sorting işlemleri yapabiliriz.

  • Hiç kod yazmadan  delete ve update işlemlerini yapabiliriz.

  • Şablonlar ile çalışma özelliği oldukça gelişmiş.

Yeni bir kontrol olan gridview sqldatasource ile birlikte kullanıldığında tek satır kod yazmadan tamamen otomatik olarak update,delete,insert işlemleri yapılabiliyor fakat bazı sayfalarda gridview için sorgulara bağlı olarak  birden fazla datasource kullanabiliyoruz.Böyle durumlarda gridview üzerinde insert,update,delete işlemlerimizi dinamik olarak yapmak zorundayız.Gridview üzerinde  update ve delete işlemleri sırasında

RowEditing,RowCancelingEdit,RowUpdating,ve RowDeleting eventları tetiklenir.Bizim amacımız bu eventları code-behind tarafında yakalamak olacak.Bu eventları kullanacağımız bir senaryo düşünerek uygulamamıza başlıyalım.Projemizde personel bilgilerinin tutulduğu basit bir veritabanımız olsun.Bu veritabanına ait Table’ımızı tasarlıyalım.

 

Kaldığımız yerden devam edecek olursak eklediğimiz bounfield alanlarını tek tek templatefield’a çevirerek bazı değişiklikler yapacağız.Bunun için column’ı seçip Convert this field into a TemplateField linkine tıklıyoruz.Column’ları TemplateField’a çevirdikten sonra Gridview’ın task panelinden Edit Templates alanına girip cinsiyet sütununun EditItemTemplate bölümündeki label’ı silip cinsiyet seçimi için bir Dropdownlist kontrolü ekliyoruz.Daha sonra tarih sütununun EditItemTemplate alanındaki textbox kontrolüne ajax control toolkit extenderlarından Calender Extender controlünü ekliyoruz.Databinding ifadesi olarak Bind("dogumtarih", "{0:dd/MM/yyyy}") yazıyoruz.Bind ifadesinde ilk parametremiz referans sütunu,ikinci parametremiz formatlama.Bu işlemleri tamamladıktan sonra unutmadan son olarak sayfamızda ajax controlü kullandığımız için sayfamıza bir tane ScriptManeger ekliyoruz.Bu işlemleri tamamladıktan sonra artık code-behind tarafında kodlamaya geçebiliriz.

 

Sayfamızda kullanılan ajax-extender kontrolü sayısı arttıkça response-resquest trafiği artacak ve performans kaybı yaşanacaktır.ScriptManeger kullanılan sayfalarda kontrol sayısına bağlı olarak ayrı ayrı serverdan requestte bulunulur.Fakat ToolScriptManeger ile sayfada bulunan bütün ajax controlleri için tek seferde serverdan requestte bulunulur.Yani kontrol sayısına bağlı olarak ayrı ayrı dosya yüklenmesi olmaz ve response-request trafiği azalmaktadır.Bu açıdan sayfada kullanılan ajax-extender kontrolünün sayısı arttıkça ToolScriptManeger kullanmak performans açısından  önemli bir iyileşme sağlıyacaktır.

 

İlk olarak Page_Load da  veritabanından verilerimizi çekip gridview e bağlıyoruz.Daha sonra  RowEditing,RowCancelingEdit,RowUpdating, ve RowDeleting eventlarını code-behind tarafında yakalıyoruz.  

string cnct = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["grid"].ConnectionString;

   protected void Page_Load(object sender, EventArgs e)

      {