设置GridView的默认页面大小
本文关键字:默认 GridView 设置 | 更新日期: 2023-09-27 18:29:14
我试图覆盖网格视图的PageSize属性,将默认值设置为100,但当代码执行时,它会使用基类中定义的默认值。有人能帮我设置默认页面大小吗。我正在扩展gridview控件以根据我的需要进行自定义。这是代码:
[DefaultValue(100)]
public override int PageSize
{
get
{
return base.PageSize;
}
set
{
base.PageSize = value;
}
}
或者我应该尝试用一些重写的方法来设置我的默认Page Sie,比如。
protected override void OnInit(EventArgs e)
{
base.PageSize = 100;
base.OnInit(e);
}
或
protected override void OnLoad(EventArgs e)
{
base.PageSize = 100;
base.OnLoad(e);
}
DefaultValueAttribute不适用于真正的默认值,它只适用于VS设计器-第一个方法不起作用。MSDN报价:
DefaultValueAttribute不会导致成员自动使用该属性的值进行初始化。您必须在代码中设置初始值。
http://msdn.microsoft.com/en-us/library/system.componentmodel.defaultvalueattribute%28v=vs.110%29.aspx
第二种和第三种方法将PageSize更改为100,但它将为每个网格视图更改,而不可能在aspx页面中更改它。
我发现最好的工作方式是重新创建属性:
private int _pageSize = 100;
public override int PageSize
{
get
{
return this._pageSize;
}
set
{
this._pageSize = value;
}
}
这样,默认的PageSize将是100,除非在每个网格视图的基础上另行设置(在aspx PageSize="50"或cs gv.PageSize=50文件中)。