Şimdi bir örnekle bu durumu açıklayalım;
Dinamik olarak ekleyeceğimiz kontrol: Asp:button
Buttonun eventi : Click
Kodlarımız;
Dinamik kontrolü yaratıyoruz;Dinamik olarak gridview içerisine "button" eklemek için gridview üzerine gelip sağüstte çıkan ">" işaretine tıklayıp "edit columns" ta buton eklenecek kolon seçilip altta bulunan "convert to template item" a tıklayalım.Şimdi tekrar gridview ın sağüstte çıkan ">" işaretine tıklayıp "edit item templates"a tıklayıp orada bulunan label kontrolünü silip yerine button kontrolü ekleyelim.Button kontrolüne bir ID değeri verelim."End template editting" diyerek buradaki işimizi bitirelim.Kod kısmında gridview rowdatabound eventine gelelim.Bu event gridview a satır satır veri işlenirken gerçekleşir.Button kontrolü için işlemimizi burada yapacağız.
Dim btn As New Button
btn.ID=buton id'si..
btn.CommandArgument=btn.ID
page.form1.Controls.Add(btn) // sayfaya butonu ekliyoruz.
AddHandler btn.Click AddressOf btn_Click
Click olayında tetiklenecek click eventimiz;
private sub btn_Click(ByVal sender as object, ByVal e as EventArgs)
Dim tiklananButton as String
tiklananButton=e.CommandArgument
Response.Write(tiklananButton)
end sub
>>Hangi butona tıklandığını e.CommandArgument ile btn.Id sini alarak belirliyoruz.Tıklanan butona göre farklı işlemler yaptırmak için bunu kullanabiliriz.<<
Dim btnGrd As New Button =TryCast(e.Row.FindControl("ButtonID"))
btnGrd.ID= " buton idsi "
btnGrd.CommandArgument=btnGrd.ID
AddHandler btn.Click AddressOf btn_Clickİşlemi siz isteğinize göre daha da geliştirebilirisiniz.
...
Yazıyı ezbere yazdığım için bazı kavramlarda eksikler ya da hatalar olabilir.Ancak konu genel itibari ile bu şekilde.
Hiç yorum yok:
Yorum Gönder