Repeater ve
DataList 'ten farkli olarak, bir diger veri getirme kontrolu de GridView'dir. Digerlerinden farkli olarak bize daha cok fonksiyonellik getirir. Verileri siralamak(sorting), sayfalama(paging), verilerde update, delete, edit, insert islemlerini bize kolayca saglamamiza olanak tanir. Gordugunuz uzere diger veri kontrollerine gore daha islevseldir, fakat ozellikle css yedirirken vs. ufak tefek problemler cikarabiliyor bize. Simdi kisaca GridView'den bahsedelim.
GridView'in de DataList gibi yine uzerinde smart tagi bulunmaktadir. Buradan GridView'in icinde hazir yazilmis cssleri kullanabilir(autoformat), veri kaynagi verebilir, yeni kolonlar girip, var olan kolonlarda degisiklik yapabiliriz.
Buraya kadar her sey normal ilerliyor. Asil yapilacak islemler veri eklettikten sonra onumuze cikiyor. Rastgele bir database uzerinden veri baglayalim ve farki hissedelim.
Gordugunuz uzere veriler baglandiktan sonra, smarttagimizde ekstra ozellikler cikmakta. Ustte yazdiklarima ek olarak kolonlarda ekleme, degistirme islemleri yapabilir, paging,sorting,editing,deleting ve selection islemleri yapabilmekteyiz. Ve bunlari yaparken de kod yazmamiz gerekmeyecek, otomatik olarak arkada yazilmis kodlar kullanilacak ve biz bu islemleri yapabilecegiz. Tabi ki ornegin delete,edit islemlerinde veritabaniyla iliskiyi biz kuracagiz yine. Sadece gorunum olarak hazir geliyor bize islemler.
Source'u actigimiz zaman da GridView ile ilgili bazi kodlarin yazildigini goruyoruz. Bazi durumlarda, el ile bazi islemleri halletmekte zorluk cekebiliriz, o yuzden bazi template ozelliklerini, yazimini vs. buradan belirtecegim. Bu durumda GridView uzerinde yapamayacagimiz islem kalmayacak.
Oncelikle, BoundField ile karsilasacagiz source kodlarimizi incelersek. BoundField bize database uzerinden getirilen her bir kolondaki veri icin degisiklik veya grid'e baglamak konusunda bize kolaylik saglar. ItemTemplate'lerimiz sayesinde veritabanindan gelen tablodaki kolonlar uzerinde oynamamizi saglar. Kolon basligini degistirme, grid uzerinde belli bir noktada gosterme, yazi tipleri buyuklukleri vs. gibi konularda fiziksel degisim imkani tanir bize. Yine diger kontrollerde oldugu gibi GridView'da da ItemTemplate,FooterTemplate,HeaderTemplate, EditItemTemplate ..vs. gibi templateler bulunmaktadir. Onlari tekrar yazmayacagim, DataList ve Repeater makalelerinden ayrintili inceleyebilirsiniz. Ayrica Grid uzerinden update, insert, delete gibi islemlerinin nasil yapildigini da daha once yazdigim
makalemden ulasabilirsiniz.