Visual Studio Orcas - ASP.NET Yenilikleri [Listview ve DataPager Kontrolleri]
30.08.2007 01:33:45
Merhaba arkadaşlar, bu makalemizde orcas beta 2 ile birlikte gelen olan Listview ve DataPager kontrollerine ve bize kazandırdıklarına bakacağız.
Puan:
     

Listview

Listview kontrolü template’lere bağlı olarak çalışan yeni bir listeleme kontrolüdür. Bu kontrol kendi html çıktısını üretmez. Bunun yerine Datalist nesnesine benzeyen templateleri kullanarak datayı listelememizi sağlar. Bu templateler şunlardır,

n        LayoutTemplate

n        ItemTemplate

n        AlternatingItemTemplate

n        SelectedItemTemplate

n        EditItemTemplate

n        InsertItemTemplate

n        EmptyItemTemplate

n        EmptyDataTemplate

n        ItemSeparatorTemplate

n        GroupTemplate

n        GroupSeparatorTemplate

Datayı listelemek için en çok kullanılan 2 template’i vardır.   LayoutTemplate ve ItemTemplate. Layout template datanın dışarıda tanımlanmasını sağlayabilir. Item template ise datanın liste içerisinde tanımlanmasını sağlar. 

Layout templete içerisinde dinamik itemtemplateler kullanmak için ItemContainer’lar tanımlayabiliriz.

Örnek           

     <asp:ListView ID="ListView1" runat="server" DataSourceID="SqlDataSource1"

            EnableTheming="False">

            <ItemTemplate>

                <div>

--Databaseden gelecek Datalar,

                </div>

            </ItemTemplate>

            <LayoutTemplate> 

                                   --Dışarıdan yada dinamik olarak listeleyeceğimiz kayıtlar

                </LayoutTemplate> 

                            </asp:ListView>

 

DataPager

Datapager kontorlü orcas ile gelen yeni bir asp.net kontrlüdür. Listview kontrolü üzerinde sayfalama yapmamızı sağlar. Sayfalama yapacağımız kontrolü belirlemek için; PagedControlID ve sayfada kaç kayıt listeleneceğini belirlemek içinde PageSize özellikleri kullanılır. Bu kontrol ile çok kolay bir biçinde sayfalama işlemlerini yapabiliriz.

Örnek

    <asp:DataPager ID="DataPager1" runat="server" PagedControlID="ListView1" PageSize="5">

n        Sayfalanacak olan Listview kontrolü

n        Her sayfada 5 kayıt listelenecek

             <Fields>

                <asp:NextPreviousPagerField ButtonType="Link" ShowFirstPageButton="True" ShowNextPageButton="False"

                    ShowPreviousPageButton="False" />

n        İleriGeri butonu, ilk kayda gitmek için kullanılır, button, link ve image olabilir

                <asp:NumericPagerField />

n        Numeric sayfalamanın yapılmasını sağlar…

                <asp:NextPreviousPagerField ButtonType="Link" ShowLastPageButton="True" ShowNextPageButton="False"

                    ShowPreviousPageButton="False" />

n        İleriGeri butonu, son kayda gitmek için kullanılır, button, link ve image olabilir

            </Fields>

        </asp:DataPager>

 

Konu ile ilgili örnek bir uygulama yapalım; İlk olarak Visual Studio 2008 açalım ve yeni bir web projesi oluşturalım;

 

Daha sonra sayfamıza SQLDataSource, listview ve Datapager kontrolü ekleyelim; SQLDataSource nesnesini kullanarak verileri listeleyeceğiz.

 

Yukarıdaki gibi bir görüntü elde edeceksiniz;  Şimdi verilerin getirilmesini sağlayalım.

   <asp:SqlDataSource ID="SqlDataSource1" runat="server"

            ConnectionString="<%$ ConnectionStrings:ConnectionString %>"

            SelectCommand="SELECT [CategoryID], [Name], [Description] FROM [ArticleCategories]">

        </asp:SqlDataSource>

Verileri çektik şimdi de Listview içerisinde verilerin bind edilebilmesi için listview nesnesini tempatelerini ayarlıyalım; Listemizde sadece Kategori adı ve Description listelenecek…

<asp:ListView ID="ListView1" runat="server"

            EnableTheming="False">

            <ItemTemplate>

                <div>

                    <h2>

                        <%# Eval("Name") %></h2>

                    <ul>

                        <li>

                            <%# Eval("Description") %></li>

                    </ul>

                </div>

            </ItemTemplate>

            <LayoutTemplate> 

       <li>         <asp:PlaceHolder ID="itemContainer" runat="server"></asp:PlaceHolder></li>

                </LayoutTemplate> 

                </asp:ListView>

Son olarak da listview kontrolümüzün sayfalamasını halledelim;

    <asp:DataPager ID="DataPager1" runat="server" PagedControlID="ListView1" PageSize="3">

            <Fields>

                <asp:NextPreviousPagerField ButtonType="Link" ShowFirstPageButton="True" ShowNextPageButton="False"

                    ShowPreviousPageButton="False" />

                <asp:NumericPagerField />

                <asp:NextPreviousPagerField ButtonType="Link" ShowLastPageButton="True" ShowNextPageButton="False"

                    ShowPreviousPageButton="False" />

            </Fields>

        </asp:DataPager>

Evet artık uygulamamızı çalıştırabiliriz;

 

Güzel bir şekilde listelemeyi yaptı, şimdi 2. sayfaya geçelim J



Vay be, eskiden ne çok uğraştırırdı bizi şimdi çok kolay
J Büyüksün Microsoft diyor ve başka bir makale de görüşmek üzere sizlere iyi günler diliyorum J

Örnek kodlar için mail adresimi kullanabilirsiniz

Sem GÖKSU
info@semgoksu.com

MCP (Microsoft Certified Professional)
MCAD (Microsoft Certified Application Developer)
MCTS (Microsoft Certified Technology Specialist)

Kaynaklar

MSDN

 
Puan: