Asp.net GridView içindeki kontrole erişme-FindControl
Öncelikle GridView içerisinde hangi nesnenin içeriğine erişmek istiyoruz bunu bilmemiz gerekiyor. Ben GridView içerisindeki bir TextBox nesnesine erişmek istediğinizi varsayarak devam ediyorum. gridview findcontrol c#.
1) İlk olarak bir TextBox nesnesi oluşturuyoruz. GridView Hücresi içindeki veriyi buraya çekeceğiz.
TextBox = cekilenveri ; // burada bir textbox oluşturuyoruz.
cekilenveri = (TextBox)GridView1.Rows[0].Cells[0].FindControl(“erişilecekTextBoxİsmi”); // Burada erişeceğimiz yeri belirtiyoruz. Ben buda 0 a 0 ı seçtim yani ilk hücre içerisindeki verileri aldım.
Response.Write(cekilenveri.Text + “<br/>”); // Burada da aldığımız veriyi ekrana yazdırdık.
İsterseniz herhangi bir sabit hücredeki veriyi almak isteyebilirsiniz. Ama bu işlemi genellikle for döngüsü içerisinde kullanırsınız. Bunun için de bir örnek yapalım.
for (int i=0;i<GridView1.Rows.Count;i++)
{
cekilenveri = (TextBox)GridView1.Rows[i].Cells[2].FindControl(“erişilecekTextBoxİsmi”); // Burada da i. satırın 3.sütun içerisindeki verileri ekrana yazdırıyoruz. ( Cells[2] yazdık fakat sütun sayısı 0 dan başladığı için 3.sütun dedim)
Response.Write(cekilenveri.Text + “<br/>”); // Burada da her seferinde i. satırın 3.sütunu içerisindeki veriyi ekrana yazdırıyoruz ve <br/> komutu ile bir alt satıra geçiriyoruz.
}
Gördüğünüz gibi yukarıdaki for döngüsü GridView içerisindeki bütün satırları aşağıya doğru tarayarak 3. sütunu içerisindeki veriyi cekilenveri adlı değişkene atıyor. Daha sonra da Bu veriyi for döngüsü içerisinde ekrana yazdırıp her seferinde bir alt satıra geçiyoruz. Kodumuzu çalıştırdığımızda GridView ‘ in bütün satırlarının 3. hücresinde bulunan verileri ekrana yazılı şekilde göreceğiz.
Gördüğünüz gibi işlemler bu kadar basit.Herkse hayırlı günler.