ListView kontrolü üzerinde sayfalama yapmamızı sağlayan DataPager kontrolü özelleştirilebilir yapısıyla GridView vb. kontrollerin sayfalama kısımlarına göre birçok avantaj sağlıyor. Ancak bu kontrolün istenilen durumlarda gizlenmesi(hide) için sunucu tarafında birkaç satır kod yazmanız gerekiyor. Neden saklayayım diyebilirsiniz, örneğin ListView'da sayfalanacak kadar veri yoksa, yani tek sayfalık veri varsa alt kısımda DataPager'ın görüntülenmesini istemeyebilirsiniz.
ListView kontrolünün DataBound eventi gerekli kontrolleri yapmamız için oldukça uygun bir yer. Aşağıdaki kod parçasında lv isimli ListView kontrolüne bağlı DataPager1 isimli bir DataPager kontrolünün görünürlük ayarlarını nasıl değiştirebileceğinizi görebilirsiniz.
protected void lv_DataBound(object sender, EventArgs e)
{
DataPager pager = (DataPager)lv.FindControl("DataPager1");
if (pager != null && pager.TotalRowCount < pager.PageSize)
pager.Visible = false;
else
pager.Visible = true;
}
Hocam kod kısmına aşağıdakileri yazdım. Fakat satır bulanmıyor.
protected void ListViewYazarlar_DataBound(object sender, EventArgs e)
{
DataPager pager = (DataPager)ListViewYazarlar.FindControl(“dpUrunSayfalama”);
if (pager != null && pager.TotalRowCount < pager.PageSize)
pager.Visible = false;
else
pager.Visible = true;
}
HATA MESAJI
Object reference not set to an instance of an object.
Source Error:
Line 82: pager.Visible = false;
Line 83: else
Line 84: pager.Visible = true;
Line 85: }
Line 86: }