Gridview de Dropdowlist kullanarak sayfalama

Gridview kullanmak veritabanımızdaki verilerin kolayca görüntülenmesi, üzerinde değişiklik yapmamız ve getirdiği bir çok kolaylık bakımından bizim için bulunmaz bir nimet. Gridview kullanırken bazı ek özelliklerde kullanabiliriz. Bu gün kendi projelerimde kullandığım dropdownlist kullanarak sayfalama işleminden bahsedeceğim. orjinaline buradan ulaşabilirsiniz.

datagridview sayfalama
<PagerTemplate>
<table border=”0″ cellpadding=”0″ cellspacing=”0″ style=”width: 100%; border-bottom-width: 2px;border-bottom-color: #ffcc99;”>

<tr>
<td style=”width: 300px”>

<asp:Label ID=”lblPager” runat=”server” CssClass=”boldText”></asp:Label>
<asp:DropDownList ToolTip=”Sayfa seç” ID=”ddlPageSelector” runat=”server” AutoPostBack=”true” OnSelectedIndexChanged=”ddlPageSelector_SelectedIndexChanged”>

</asp:DropDownList></td>
<td style=”text-align: right”>

<asp:Button ID=”btnFirst” runat=”server” CommandArgument=”First” CommandName=”Page”
Text=”İlk Sayfa” />

<asp:Button ID=”btnPrevious” runat=”server” CommandArgument=”Prev” CommandName=”Page”
Text=”Önceki” />

<asp:Button ID=”btnNext” runat=”server” CommandArgument=”Next” CommandName=”Page”
Text=”Sonraki” />

<asp:Button ID=”btnLast” runat=”server” CommandArgument=”Last” CommandName=”Page”
Text=”Son Sayfa” />

</td>
</tr>

</table>
</PagerTemplate>

Gridview in RowCreated event ine aşağıdaki kodu yazıyoruz:

protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e) {

    if (e.Row.RowType == DataControlRowType.Pager) {

        SetPagerButtonStates(GridView1, e.Row, this);

    }

}

 SetPagerStates adlı void ile dropdownlist ile page index değişimini sağlıyoruz


public static void SetPagerStates(GridView gridView, GridViewRow gvPagerRow, Page page)
{
int pageIndex = gridView.PageIndex;
int pageCount = gridView.PageCount;

Button btnFirst = (Button)gvPagerRow.FindControl(”btnFirst”);
Button btnPrevious = (Button)gvPagerRow.FindControl(”btnPrevious”);
Button btnNext = (Button)gvPagerRow.FindControl(”btnNext”);
Button btnLast = (Button)gvPagerRow.FindControl(”btnLast”);

Label lblPager = (Label)gvPagerRow.FindControl(”lblPager”);

btnFirst.Enabled = btnPrevious.Enabled = (pageIndex != 0);
btnNext.Enabled = btnLast.Enabled = (pageIndex < (pageCount - 1));

DropDownList ddlPageSelector = (DropDownList)gvPagerRow.FindControl(”ddlPageSelector”);
ddlPageSelector.Items.Clear();
for (int i = 1; i <= gridView.PageCount; i++)
{
ddlPageSelector.Items.Add(i.ToString());
}
ddlPageSelector.SelectedIndex = pageIndex;
ddlPageSelector.SelectedIndexChanged += delegate
{
gridView.PageIndex = ddlPageSelector.SelectedIndex;
//gridView.DataBind();

};

lblPager.Text = string.Format(”\t(sayfa: {0}/{1})”, pageIndex+1, pageCount);

}


2 Responses to “Gridview de Dropdowlist kullanarak sayfalama”

  1. hocam güzel olmuş eline sağlık

  2. Merhaba
    pager template i ekleyince hata veriyor.. Nereye eklememiz gerekiyor ?
    Saygılarımla

Yorum yaz