Bu örneğimizde ASP.NET ile Gridview‘ de kayıtları listeleme ve seçilen kaydın ilgili Textbox kontrolüne aktarma işleminin nasıl gerçekleştirileceğini göreceğiz.
Örneğimizde GridView içine kayıtları access veritabanı dosyasından çekeceğiz. Örneğimize sayfamızı aşağıdaki gibi tasarlayarak başlayalım.
Sayfamızı yukarıdaki gibi tasarladıktan sonra Gridview kontrolünde satırları seçmek için kullanacağımız yönteme geçiyoruz. Gridview kontrolüne yeni bir sütun ekleyeceğiz.
Bunun için GridView üzerine tıkladıktan sonra;
Yukarıdaki resimde görüldüğü gibi Add-NewColumn seçiyoruz. Bu işlem sonucunda aşağıdaki gibi bir pencere karşımıza gelecektir.
Yukarıdaki ayarları yapıyoruz ve OK diyoruz. Bu işlem sonucunda GridView kontrolümüz aşağıdaki hale gelecektir.
Şimdi verileri çekme işlemine geçelim. Veritabanı dosyamızı oluşturacağımız AppData klasörü içine atacağız. Kullanacağımız access dosyasının adı “kutuphane.accdb” olacak. Bu dosyada bulunan “Kitaplar” tablosu içinde bulunan KitapNo, KitapAdı, Yazar ve Tur alanlarının GridView‘ de görüntülenmesini sağlayacağız. AppData Klasörünün oluşturulması işlemini daha önceki örneklerde detaylı olarak görmüştük. İsterseniz AppData klasörü ile ilgili buradaki örneğe tıklayarak örneğe ulaşabilirsiniz.
Örneğimize devam edelim. default.aspx dosyamızın son hali aşağıdaki gibi oluşacaktır.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <style type="text/css"> .auto-style1 { width: 37%; } .auto-style2 { width: 124px; } .auto-style3 { width: 268px; } </style> </head> <body> <form id="form1" runat="server"> <div> <asp:GridView ID="GridView1" runat="server" OnSelectedIndexChanged="GridView1_SelectedIndexChanged"> <Columns> <asp:ButtonField CommandName="Select" Text="Seç" /> </Columns> </asp:GridView> <br /> <br /> <table class="auto-style1"> <tr> <td class="auto-style2">Kitap No</td> <td class="auto-style3"> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> </td> </tr> <tr> <td class="auto-style2">Kitap Adı</td> <td class="auto-style3"> <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox> </td> </tr> <tr> <td class="auto-style2">Yazar</td> <td class="auto-style3"> <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox> </td> </tr> <tr> <td class="auto-style2">Tür</td> <td class="auto-style3"> <asp:TextBox ID="TextBox4" runat="server"></asp:TextBox> </td> </tr> </table> </div> </form> </body> </html> |
Şimdide GridView kontrolüne sayfa verilerimizin gelmesini ve Gridview kontrolünde seçilen satırın Textbox’lara aktarılması işlemlerini gerçekleştirecek kodlara bakalım.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
using System; using System.Collections.Generic; using System.Data; using System.Data.OleDb;//Ekle using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class _Default : System.Web.UI.Page { OleDbConnection con; OleDbCommand cmd; public void Yukle() { con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Server.MapPath("App_Data\\kutuphane.accdb")); OleDbDataAdapter da = new OleDbDataAdapter("SELECT *FROM Kitaplar", con); DataSet ds = new DataSet(); da.Fill(ds); GridView1.DataSource = ds; GridView1.DataBind(); } protected void Page_Load(object sender, EventArgs e) { Yukle(); } protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) { int secili; secili= GridView1.SelectedIndex; GridViewRow row = GridView1.Rows[secili]; TextBox1.Text = row.Cells[1].Text; TextBox2.Text = row.Cells[2].Text; TextBox3.Text = row.Cells[3].Text; TextBox4.Text = row.Cells[4].Text; } } |
Kodlarımızı açıklayacak olursak;
Yukle isimli metot Gridview içine kayıtların çekilmesini sağlamakta. Page_Load olayında bu metot çağırılarak form açıldığında kayıtların gelmesi sağlanıyor.
GridView1_SelectedIndexChanged olayı ise Gridview üzerinde seçim yapıldığında tetiklenecek. Bu kısma tasarım halinde Gridview üzerine çift tıklayarak ulaşabilirsiniz.
Son olarak ekran görüntüsüne bakalım. Sayfamızı görüntülediğimizde seçilen satıra ait değerlerin ilgili Textboxlar üzerine aktarıldığını görüyoruz.
süper anlatım hocam emeğinize sağlık bir deyeni başlayanlar için Mssql de anlatırsanız çok sevinirim.