GridView ile DetailsView’i beraber kullanmak

GridView ile DetailsView’i bir arada nasil kullanabiliriz? 
Mesela Grid’deki bir kaydi seçince DetailsView’de ayrintilarini nasil gösterebiliriz?

Bunun için iki tane SqlDataSource nesnesine ihtiyacimiz var.
Kolaylik olsun diye ID’lerini <asp:SqlDataSource ID="SqlDataSourceDetails"…
ve <asp:SqlDataSource ID="SqlDataSourceGrid"… seklinde degistiriyoruz.

Wizard ile yapmak isteyenler için:

SqlDataSourceGrid nesnesinin üzerine tiklayip "configure data source" diyor ve istedigimiz veritabanindaki lazim olan tabloyu ve verileri seçiyoruz (Örnegin, Northwind – Employees) Bu esnada özel hiç bir islem yapmiyoruz.
Sonra GridView’e gelip az once hazirladigimiz SqlDataSourceGrid nesnesini data source olarak seçiyoruz.

Simdi gelelim DetailsView’e.
SqlDataSourceDetails nesnesine tiklayip "configure data source" diyoruz.
Connectionstring’i seçtikten sonra SqlDataSourceGrid nesnesinde kullandigimiz tablomuzu (Northwind – Employees) ve bütün kayitlarini seçiyoruz.
Ayni sayfanin sag tarafinda WHERE, ORDER BY ve Advanced butonlari var. WHERE diyor ve ayarlari sekildeki gibi yapiyoruz:

 

Yani, GridView’de seçili olan kaydin ID’sini baz alarak DetailsView’i doldur, demek oluyor.

Kodlarla yapmak isteyenler için:

<asp:SqlDataSource ID="SqlDataSourceGrid" runat="server" 
        ConnectionString="<%$ ConnectionStrings:Northwind %>"  SelectCommand="SELECT [LastName], [FirstName], [Title], [EmployeeID] FROM [Employees]">
</asp:SqlDataSource>

<asp:SqlDataSource ID="SqlDataSourceDetails" runat="server" ConnectionString="<%$ ConnectionStrings:Northwind %>"  SelectCommand="SELECT * FROM [Employees] WHERE ([EmployeeID] = @EmployeeID)"> 

        <SelectParameters>
                   <asp:ControlParameter ControlID="GridView1" Name="EmployeeID" 
                  PropertyName="SelectedValue" Type="Int32" />
     </SelectParameters>
</asp:SqlDataSource>
.

 Bunlari yaptiktan söyle bir sonuç elde ederiz:

 

4 thoughts on “GridView ile DetailsView’i beraber kullanmak

ayse için bir cevap yazın Cevabı iptal et

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir