首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在devexpress GridControl中不调用方法GridControl ()

在devexpress GridControl中不调用方法GridControl ()
EN

Stack Overflow用户
提问于 2016-02-04 09:57:54
回答 1查看 253关注 0票数 0

我继承了一个devexpress GridControl,遵循来自这里的所有步骤。

只有一个问题,方法CreateDefaultView()从未被调用。

这是代码:

代码语言:javascript
复制
public partial class gttDXGridControl : GridControl
{
    public gttDXGridControl() : base()
    { }

    protected override void RegisterAvailableViewsCore(InfoCollection collection)
    {
        base.RegisterAvailableViewsCore(collection);
        collection.Add(new gttDXGridViewInfoRegistrator());
    }

    //this event is not called for some reason...
    protected override BaseView CreateDefaultView()
    {
        gttDXGridView gridView = CreateView("gttGridView") as gttDXGridView;
        // would like to initialize stuff here...
        return gridView;
    }
}

public partial class gttDXGridViewInfoRegistrator : DevExpress.XtraGrid.Registrator.GridInfoRegistrator
{
    public override string ViewName { get { return "gttGridView"; } }
    public override BaseView CreateView(GridControl grid) { return new gttDXGridView(grid as GridControl); }
    public override BaseViewInfo CreateViewInfo(BaseView view) { return new gttDXGridViewInfo(view as gttDXGridView); }
    public override BaseViewHandler CreateHandler(BaseView view) { return new gttDXGridHandler(view as gttDXGridView); }

}

public partial class gttDXGridViewInfo : GridViewInfo
{
    public gttDXGridViewInfo(DevExpress.XtraGrid.Views.Grid.GridView gridView) : base(gridView)
    { }

    public override int CalcRowHeight(Graphics graphics, int rowHandle, int min, int level, bool useCache, GridColumnsInfo columns)
    {
        return base.CalcRowHeight(graphics, rowHandle, MinRowHeight, level, useCache, columns);
    }

    public override int MinRowHeight
    {
        get { return base.MinRowHeight - 2; }
    }
}

此事件是初始化GridView属性的地方,但它从未调用过。这可能是什么原因?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-04 11:03:53

MainView属性为null时调用此事件。这意味着当您在设计时或运行时向表单中添加新的gttGridControl时,将调用此事件。

下面是运行时的示例:

代码语言:javascript
复制
var gridControl = new gttDXGridControl();

gridControl.Width = 100;
gridControl.Height = 100;

Controls.Add(gridControl); // => Here this event will be invoked.
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35197792

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档