28 Haziran 2009 Pazar

GridView Kullanımı3-Sahalara Button,Hyperlink..vs tarzı kontroller atamak

Herkese Merhaba;

GridView'a bağladığımız verilerin sahalarını sadece text olarak görüntülememiz gerekmiyor.Herhangi bir sahasını button,hyperlink,image gibi tanımlayıp tasarımımızı güçlendirebiliriz.
Bir GridView tanımladığımızda default olarak içindeki sahaların tümü text olarak oluşturulur.Ancak biz bunların hangilerini görüntüleyip görüntülemeyeceğimize karar verip istediğimize button kontrolleri atayabiliriz.Bunun için öncelikle Source kodumuzda GridView'a AutoGeneratedColoums="false" eklememiz gerekir.Böylece bütün sahalar otomatik olarak gösterilmez programcının kontrolüne bırakılır.
Görüldüğü gibi GridView'daki sahaları ne türde kullanabileceğimiz otomatik olarak geldi

AutoGenerateColoums="False" yaptığımız için artık satırları kendimiz oluşturmamız gerekiyor.Bunu da colums bloğu içine GridView'un sahalarını ekleyerek yapabiliriz.
Şimdi bir ButtonField ekleyelim.





Şimdi ButtonField'ın içindeki sahalara göz atalım.

DataTextField: Button olarak tanımlanan saha veri tabanından çektiğimiz verinin hangi sahası olacak.(Tablodaki isimle aynı olmak zorunda!)

HeaderText: Bu sahanın başlığının adı.
Şimdi bu ButtonField'a bir event bağlayalım.

Şimdi GridView'a bu buttonlara tıklandığı zaman ne yapılacağını belirtmek için
OnRowCommand özelliği ekliyoruz ve eventin adını veriyoruz.Artık GridView'umuz bu buttonlara gelen eventleri karşılamaya hazır!.

protected void Tiklama(object sender, EventArgs e)
{
//doSomething()
}


Kolay gelsin:)

GridView Kullanımı2-Database'den Veri Çekmek

Herkese Merhaba;
Daha önceki yazımda hiç koda girmeden sihirbaz yardımıyla verileri GridView'a bağlayabilmiştik.Ama fark ettiğiniz gibi tasarımın içinde sorgular,bağlantı cümlecikleri vs..Karmakarışık bir kod üretti hemde tasarım kodlarının içine!. Şimdi asp.net'in nimetlerinden code-behind programming i kullanarak verilerimizi tasarıma hiç kod yazmadan projemizin .cs uzantılı dosyası vasıtasıyla verilerimizi GridView'a bağlayalım.
Bir GridView sürükleyelim ve .cs uzantılı dosyamıza şunları ekleyelim:

21 SqlConnection conn = new SqlConnection();
22 conn.ConnectionString = "Data Source=CAGDAS;Initial Catalog=Deneme;Integrated Security=True";
23 SqlCommand cmd = new SqlCommand();
24 cmd.CommandText = "select * from Urunler";
25 cmd.Connection = conn;
SqlConnection : Bir bağlantı nesnesi tanımlar.
Conneciton String: Bağlantı cümleciğidir.Bağlantıyı seçtiğimiz veritabanıyla ilişkilendirir.
SqlCommand : Veri tabanı üzerinde sorgulama yapmamızı sağlayan nesnedir.
Command Text : Sorgu cümlesidir.
Connection : Sorgu nesnesini veri tabanıyla ilişkilendirir.
Bu arada sorgu nesnemiz sadece sorgu cümlesi olmak zorunda değil.Eğer veri tabanına daha önceden bir store procedure kaydettiysek onu da kullanabiliriz.Komut textine spnin adını verip cmd.CommandType = CommandType.StoreProcedure
ifadesini koymamız yetecektir.

28 DataSet ds = new DataSet();
29 SqlDataAdapter adapter = new SqlDataAdapter();
30 adapter.SelectCommand = cmd;
31
32
33 adapter.Fill(ds);
DataSet: Veri temsil eder.
SqlDataAdapter: Veri tabanından gelen veriyi dataset'e doldurur.
SelectCommand :Veri tabanından gelicek veriler hangi komut vasıtasıyla çekilcek.
Fill : Adapter nesnesindeki veriyi data sete doldurur.
Evet herşey hazır.Şimdi bağlantımızı açalım ve GridView'a veriyi bağlayalım.
37 conn.Open();
38 GridView1.DataSource = ds;
39 GridView1.DataBind();
40 conn.Close();
Burda unutmamamız gerek nokta GridView'un veri kaynağına bir kaynak gösterdikten sonra DataBind() metodunu kullanmamızdır.this.DataBind() da kullanılabilir.Eğer bu metodu kullanmazsak görüntü elde edemeyiz.
Herkese kolay gelsin:)

GridView Kullanımı1-Verileri Sihirbazla GridView'a Aktarma

Asp.Net 2.0 ile gelen veri kontrollerinden rutin işlerimizi çok kolaylaştıran GridView kontrolüne bir göz atalım.Öncelikle Visual Studiomuzun toolboxından açtığımız website'ye bir GridView sürükleyelim.Sürükleyip bıraktığımızda Default.aspx'in source'una ,bu kontrole dışardan erişeceğimiz bir identifier(ID) ve bu kontrolün server tarafından çalışan bir kontrol olduğunu belirten runat="server" ifadesi geliyor.Design tarafında ise şöyle bir görüntü oluşuyor.

Şimdi bu oluşturduğumuz kontrole veri tabanından çektiğimiz verileri bağlamaya çalışalım.Bu veri bağlama işini bir kaç şekilde yapabiliriz.Bunlardan en basiti hiç koda girmeden GridView'un sihirbazını kullanıp veritabanı kaynağını ve veritabanında istediğimiz tabloyu istediğimiz sorguyla GridView'umuza bağlayabiliriz.

GridView'u bir sihirbaz gibi kullanıp verilerimizi bağlamaya çalışalım.GridView'un sağ üst köşesindeki ok dikkatinizi çekmiştir.Ona tıkladığımızda hiç koda girmeden GridView üzerinde yapabileceğimiz işlemleri görebiliriz.

Choose Data Source seçeneğinde default olarak none gelir.Biz GridView'a şimdi bir veri kaynağı verelim.Verimizi nerden alacağımızı seçelim.Herkes verilerini tuttuğu veri tabanına göre seçim yapabilir.Alt tarafta gördüğümüz sahaya da bu kaynağa koddan erişebileceğimiz bir ID veriyoruz.Sıra hangi veritabanı üzerinde işlem yapacağımızı seçmeye geldi.Veritabanımızı da seçtikten sonra artık tablolarımız sorgulamaya hazır bir hale geldi.İstedğimiz tabloyu seçip bir sorgu hazırlayalım.Tabloyu seçtiğimizde alt tarafta bilgilerini getirebileceğimiz sahalar otomatik olarak çıkıyor.SELECT * FROM [Urunler] sorgusunu yaratalım ve test edelim.





Gördüğümüz gibi sorgularımızı GridView'a yansıtmadan önce sihirbaz yardımıyla sonuçlarımızı test edebiliyoruz.
İşlemimizi tamamlayalım. Kodumuzu çalıştırdığımızda sorguladığımız veriler sayfamızda görüntülendi:)