Asp.net te Gridview in içindeki nesnelere erişmek

asp netMerhaba arkadaşlar bu makalede bir dönem beni bir hayli uğraştıran bir konuya deyinicem. Gridview içinde yer alan textbox veya label gibi nesnelere nasıl kontrol sağlıyacaz ondan bahsedeceğim.

 Sayfanızda yer alan bir datalist veya Gridview nesnesine .cs veya .vb gibi dosyanızdan erişmek istediğinizde hata alırsınız. Yani sayfada bulunan diğer elamanlar gibi erişemessiniz. Bunun için özel bir metod kullanacağız.

<asp:GridView ID=”YAP_TEK_GRID” runat=”server” AutoGenerateColumns=”False”

DataSourceID=”SqlDataSource1″>

 

<Columns>

<asp:BoundField DataField=”id” HeaderText=”id” InsertVisible=”False”

ReadOnly=”True” SortExpression=”id” />

<asp:TemplateField>

<ItemTemplate>

<asp:Labell ID=”Label1″ runat=”server” Text=”Label”></asp:Label>

</ItemTemplate>

</asp:TemplateField>

<asp:CheckBoxField DataField=”bransmi” HeaderText=”bransmi”

SortExpression=”bransmi” />

<asp:BoundField DataField=”brans” HeaderText=”brans” SortExpression=”brans” />

</Columns>

</asp:GridView>

 

Burada bulunan label1 nesnesine .cs sayfasından ulaçamassınız ulaşmanızı sağlayan kod söyle:

(Label)YAP_TEK_GRID.Rows[0].FindControl(“Label1”)).Text Bu kod sayesinden ulaşabiliriz içindeler ne işe yarıyor açıklayalım.

“(Label)” yazan yer sayfada bulunan bir label nesnesine ulaşacağımızı belirtiyor.

“YAP_TEK_GRID” sayfada bulunan ve içindeki nesneye ulamak istediğimiz Gridview in adıdır.

“Rows[x]” ulaşmak istediğimiz label nesnesi gridview de hangi satırda bulunuyor onu belirtiyor.

“FindControl(“Label1″)).Text” label1 isimli kontrolun içindeki text anlamına gelmektedir.

Son olarak örnek verirsek

(Label)YAP_TEK_GRID.Rows[0].FindControl(“Label1”)).Text = “Köksal İyigün”; dersek o labelin text değeri “Köksal iyigün” olarak değişecektir.

 

Umarım faydalı olmuştur.

İyi çalışmalar

Köksal İyigün

koksal_iyigun@aspnedir.net

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Close
Join me:

Inline
Inline