GridviewのPagingプロパティを拡張して、ユーザーがそれぞれのテキストリンクをクリックして、ページごとに表示するアイテムの数を選択できるようにしようとしています。つまり、25 | 50 | 75 | 100.ページプロパティは、コードビハインドで次のように設定されます。
/// <summary>
/// Gets or sets the number of items displayed on a result page.
/// </summary>
#region PageSize;
[Bindable(true),
Category("Paging"),
Description("Paging Size"),
NotifyParentProperty(true)]
public virtual int PageSize
{
get
{
return (ViewState["PageSize"] == null) ? 25 : (int)ViewState["PageSize"];
}
set
{
//return ((int)ViewState["LastPage"]);
ViewState["PageSize"] = value;
}
}
イベントは次のとおりです。
/// <exclude/>
/// <summary>
/// Click event on '25' paging text link
/// </summary>
/// <param name="sender">Sender</param>
/// <param name="e">EventArgs</param>
protected virtual void PageSize25_Click(object sender, EventArgs e)
{
// ToDo: Pass new page size 25 to click event
// Bind data to new page size
// ViewState["PageSize"] = 25;
}
/// <exclude/>
/// <summary>
/// Click event on '50' paging text link
/// </summary>
/// <param name="sender">Sender</param>
/// <param name="e">EventArgs</param>
protected virtual void PageSize50_Click(object sender, EventArgs e)
{
// ToDo: Pass new page size 50 to click event
// Bind data to new page size
// ViewState["PageSize"] = 50;
}
/// <exclude/>
/// <summary>
/// Click event on '75' paging text link
/// </summary>
/// <param name="sender">Sender</param>
/// <param name="e">EventArgs</param>
protected virtual void PageSize75_Click(object sender, EventArgs e)
{
// ToDo: Pass new page size 75 to click event
// Bind data to new page size
}
/// <exclude/>
/// <summary>
/// Click event on '100' paging text link
/// </summary>
/// <param name="sender">Sender</param>
/// <param name="e">EventArgs</param>
protected virtual void PageSize100_Click(object sender, EventArgs e)
{
// ToDo: Pass new page size 100 to click event
// Bind data to new page size
}
どういうわけか、各テキストリンクの値(25 | 50 | 75 | 100)をPageSizeプロパティに渡す必要があります。
ありがとう。どんな助けでも大歓迎です。