﻿
{"id":887,"date":"2012-09-13T00:19:29","date_gmt":"2012-09-13T00:19:29","guid":{"rendered":"http:\/\/www.gencayyildiz.com\/blog\/?p=887"},"modified":"2012-09-13T09:17:56","modified_gmt":"2012-09-13T09:17:56","slug":"collectionpager-ile-repeater-veya-datalist-listeleme","status":"publish","type":"post","link":"https:\/\/www.gencayyildiz.com\/blog\/collectionpager-ile-repeater-veya-datalist-listeleme\/","title":{"rendered":"CollectionPager \u0130le Repeater veya DataList Listeleme"},"content":{"rendered":"<div id=\"fb-root\"><\/div>\n<p>Genellikle Asp.NET aleminde Repeater veya DataList gibi veri listeleme kontrolleri vazge\u00e7ilmezdir.Bazen binlerce kay\u0131t\u0131n tutuldu\u011fu listeleri DataSource&#8217;lerine atar\u0131z.Haliyle \u00e7ok kullan\u0131\u015fl\u0131 olduklar\u0131ndan dolay\u0131 baz\u0131 durumlarda GridView yerine bu nesneleri kullan\u0131r\u0131z.Tabi art\u0131lar\u0131 oldu\u011fu kadar eksileride mevcuttur.GridView&#8217;de yap\u0131lan sayfalama i\u015flemi ne yaz\u0131k ki Repeater ve DataList nesnelerinde daha teferruatl\u0131 ve zahmetlidir.Hal b\u00f6yleyken CollectionPager s\u0131n\u0131f\u0131 yard\u0131m\u0131m\u0131za ko\u015fmaktad\u0131r.<br \/>\n<!--more--><br \/>\n\u00d6ncelikle bu s\u0131n\u0131f\u0131n .dll dosyas\u0131n\u0131 <a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2012\/09\/CollectionPager.rar\">buradan<\/a>\u00a0indiriniz.<br \/>\n\u015eimdi ise ne i\u015fe yarar, nas\u0131l mant\u0131\u011f\u0131 vard\u0131r ve nas\u0131l kullan\u0131l\u0131r irdeleyelim.<\/p>\n<p>CollectionPager Repeater veya DataList nesnelerinde sayfalama i\u015flevini g\u00f6ren bir s\u0131n\u0131ft\u0131r.<\/p>\n<p>CollectionPager&#8217;\u0131n mant\u0131\u011f\u0131n\u0131 izah etmek gerekirse, 2 sat\u0131r kodla olu\u015fturulan bir algoritma sayesinde QueryString yard\u0131m\u0131yla listeleme g\u00f6revi g\u00f6rmektedir.<\/p>\n<p>Bu konuyla ilgili \u00e7ok gere\u011fi olmayan teorik bilgilerden sonra as\u0131l mevzumuz nas\u0131l kullan\u0131laca\u011f\u0131d\u0131r.<\/p>\n<p>Ben \u00f6rnek olarak Visual Studio&#8217;da bo\u015f bir Web Projesi a\u00e7\u0131yorum.\u00d6ncelikle indirdi\u011fimiz CollectionPager.dll   dosyas\u0131n\u0131 Toolbox penceresinde her hangi bir taba sa\u011f t\u0131klayarak(ya da bir tab a\u00e7arak) Choose Items sekmesini se\u00e7ip a\u00e7\u0131lan pencereden CollectionPager.dll dosyam\u0131z\u0131 ekliyoruz.\u015eimdi ise sayfam\u0131za Repeater ve Toolbox penceresine ekledi\u011fimiz CollectionPager nesnelerinden birertane koyuyoruz.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n&lt;%@ Register Assembly=&quot;CollectionPager&quot; Namespace=&quot;SiteUtils&quot; TagPrefix=&quot;cc1&quot; %&gt;\r\n&lt;asp:Repeater ID=&quot;Repeater1&quot; runat=&quot;server&quot;&gt;\r\n    &lt;ItemTemplate&gt;\r\n        &lt;%#Eval(&quot;Veri&quot;) %&gt;\r\n    &lt;\/ItemTemplate&gt;\r\n&lt;\/asp:Repeater&gt;\r\n&lt;cc1:CollectionPager ID=&quot;CollectionPager1&quot; PageSize=&quot;10&quot; runat=&quot;server&quot; BackNextLocation=&quot;Split&quot; BackText=&quot;Geri&quot; FirstText=&quot;\u0130lk&quot; LabelText=&quot;Sayfa:&quot; LastText=&quot;Son&quot; NextText=&quot;\u0130leri&quot; QueryStringKey=&quot;Sayfa&quot; ResultsFormat=&quot;Sayfa {0}-{1} (of {2})&quot;&gt;&lt;\/cc1:CollectionPager&gt;\r\n<\/pre>\n<p>\u015eimdi ise .cs sayfam\u0131za gelip a\u015fa\u011f\u0131daki sat\u0131rlar\u0131 yazal\u0131m.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n    protected void Page_Load(object sender, EventArgs e)\r\n    {\r\n        if (!Page.IsPostBack)\r\n        {\r\n            VerileriGetir();\r\n        }\r\n    }\r\n\r\n    void VerileriGetir()\r\n    {\r\n        ...\/\/Varsay\u0131yorum ki VeriListesi ad\u0131nda bir listemiz var.\r\n        CollectionPager1.DataSource = VeriListesi;\r\n        CollectionPager1.BindToControl = Repeater1;\r\n        Repeater1.DataSource = CollectionPager1.DataSourcePaged;\r\n        ...\r\n    }\r\n<\/pre>\n<p>CollectionPager1 nesnemizin PageSize \u00f6zelli\u011fi 10 oldu\u011fundan dolay\u0131, her 10 veride bir sayfalama i\u015flemi yap\u0131lacakt\u0131r.<\/p>\n<p>\u0130yi \u00e7al\u0131\u015fmalar<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>Genellikle Asp.NET aleminde Repeater veya DataList gibi veri listeleme kontrolleri vazge\u00e7ilmezdir.Bazen binlerce kay\u0131t\u0131n tutuldu\u011fu listeleri DataSource&#8217;lerine atar\u0131z.Haliyle \u00e7ok kullan\u0131\u015fl\u0131 olduklar\u0131ndan dolay\u0131 baz\u0131 durumlarda GridView yerine bu nesneleri kullan\u0131r\u0131z.Tabi art\u0131lar\u0131 oldu\u011fu kadar eksileride mevcuttur.GridView&#8217;de yap\u0131lan&#46;&#46;&#46;<!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10,226],"tags":[275,274,264,263],"class_list":["post-887","post","type-post","status-publish","format-standard","hentry","category-asp-net","category-linq","tag-dll","tag-collectionpager","tag-datalist","tag-repeater"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/887","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/comments?post=887"}],"version-history":[{"count":0,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/887\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media?parent=887"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/categories?post=887"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/tags?post=887"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}