设置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);
    }

设置GridView的默认页面大小

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文件中)。