Koray Kırdinli

Yazılım ve İş Yaşamı Hakkında Paylaşımlar

ASP.NET Gridviewden tıklanan satırı alma

ASP.NET gridview’leri projelerimizde çok sıklıkla kullandığımız programcılar için vazgeçilmez kontrollerden bir tanesidir. Bu örnek uygulamada gridview’deki butona tıklanınca o satırda herhangi bir değeri nasıl alabileceğimizi anlatmaya çalışacağım
Öncelikle grdiviewimizin asp kodları aşağıdaki gibi olmalıdır.

asp:GridViewID=”grdDosyalar”runat=”server”AutoGenerateColumns=”False”SelectedRowStyle-BackColor=”Gold”

Font-Size=”Smaller”>

<Columns>

<asp:BoundFieldDataField=”Name”HeaderText=”Dosya Adı”/>

<asp:BoundFieldDataField=”Length”HeaderText=”Dosya Uzunluğu”/>

<asp:BoundFieldDataField=”Extension”HeaderText=”Uzantısı”/>

<asp:BoundFieldDataField=”CreationTime”HeaderText=”Oluşturulma Zamanı”DataFormatString=”{0:dd.MMMM.yy}”

HtmlEncode=”False”/>

<asp:BoundFieldDataField=”LastWriteTime”HeaderText=”Son Yazılma Zamanı”DataFormatString=”{0:dd.MMMM.yy}”

HtmlEncode=”False”/>

<asp:TemplateField>

<ItemTemplate>

<asp:ButtonID=”btnIndir”runat=”Server”OnClick=”btnIndir_Click”Text=”indir”/>

ItemTemplate>

asp:TemplateField>

Columns>

asp:GridView>
Burada bir template kolon yaratıp içerisine buton ekliyoruz. Ve asıl işimiz bundan sonra başlıyor. Butonun click olayında aşağıdaki gibi bir kodla tıklanan satırın herhangi bir kolonunu C# tarafında almamız  mümkün.

protectedvoid btnIndir_Click(object sender, EventArgs e)
{
Button Button1 = (Button)sender;
GridViewRow grdRow = (GridViewRow)Button1.Parent.Parent;
string strField1 = grdRow.Cells[0].Text;
}

İlk olarak sender nesnesinden bizim tıklamış olduğumuz buton geliyor ve biz içeride bir buton nesnesi yaratarak sender’ı daha anlamlı hale getiriyoruz. Daha sonra da button1’in parentının parentını bir gridviewrow nesnesine dönüştürerek ilgili satırı bu nesneye atamış oluyoruz.
Son satırda da sıfırıncı cellinin değerini artık alabiliyoruz.

İşte bu kadar kolay
Umaraım yararlı olmuştur.
Herkese iyi çalışmalar

April 2, 2009 - Posted by | ASP.NET | , , , ,

No comments yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s