GridView的Pager有一个特性,就是当PageSize大于要显示的数据的行数时,Pager就自动隐藏了。这本没什么问题。不过最近自定义了GridView控件,在Pager所在的行中加入了一个DropDownList用来设置PageSize,用户可以通过这个DropDownList来动态的调整GridView每页显示的数据行数。问题是,当用户设置的PageSize超过了数据总行数,Pager消失了,捎带着设置PageSize的DropDownList也一并没了,用户没法再设置PageSize了。

解决的办法,很简单,代码如下:

protected override int CreateChildControls(System.Collections.IEnumerable dataSource, bool dataBinding)
{
	int returnValue = base.CreateChildControls(dataSource, dataBinding);
	if (AllowPaging && TopPagerRow != null)
	{
		TopPagerRow.Visible = true;
		//BottomPagerRow.Visible = true;
	}
	return returnValue;
}

 

关键之处就在于override返回int的那个CreateChildControls方法,然后根据需要设置TopPagerRow/BottomPagerRow的Visible属性为true就行了。

相关文章:

  • 2022-01-10
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-01
  • 2021-06-23
  • 2021-12-30
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-07-18
  • 2021-11-27
  • 2021-10-23
  • 2022-12-23
  • 2021-07-29
相关资源
相似解决方案