Inheritance 试图从类内绑定到基gridview

Inheritance 试图从类内绑定到基gridview,inheritance,devexpress,aspxgridview,data-binding,Inheritance,Devexpress,Aspxgridview,Data Binding,所以我创建了一个类,该类将获取一些数据并对其进行处理,最后生成一个datatable 我正在使用一个devex gridview(虽然我假设asp gridview可能使用相同的答案)将其添加到页面中,实例化我的类(使用我想要返回的数据id)…然后在我的页面中加载代码,将数据绑定到gridview,如下所示: DashBoard1 = new DashBoard("661", baseUser); FFASPxGridView1.DataSource = DashBoard1.dtFina

所以我创建了一个类,该类将获取一些数据并对其进行处理,最后生成一个datatable

我正在使用一个devex gridview(虽然我假设asp gridview可能使用相同的答案)将其添加到页面中,实例化我的类(使用我想要返回的数据id)…然后在我的页面中加载代码,将数据绑定到gridview,如下所示:

 DashBoard1 = new DashBoard("661", baseUser);

 FFASPxGridView1.DataSource = DashBoard1.dtFinalTable;
 FFASPxGridView1.DataBind();
这一切都很好。。。然而,我们已经将gridview制作成了一个用户控件(向其中添加了一些我们的东西),我的想法是我希望围绕gridview来构建我的dashboard类。因此,我将我的dashboard类设置为gridview的子类

public class DashBoard : FFASPxGridView
希望最终的产品可以是简单地将该控件放到页面上,并在后面的代码中实例化[即DashBoard1=new DashBoard(“661”,baseUser);]和WHALAH-完成的gridview将显示出来

我想我可以通过在我的仪表板类构造函数的最后一行中绑定到我的datatable来实现这一点(在我知道我的最终datatable已经创建之后),如下所示:

当我完成这一步时,datatable很好,没有错误,但没有数据显示在成品的gridview上

此外,回到页面上-我无法在PAGE_load事件中将datatable绑定到自身:

DashBoard1.DataSource = DashBoard1.dtFinalTable;
DashBoard1.DataBind();
再说一次,什么都没有——但就像我说的,如果我把它绑定到一个普通的gridview,那么我就得到了数据

有人能告诉我我在想什么吗?我曾试图覆盖pre_渲染,并在那里做这件事,但没有工作…我只是不知所措

**这是一个奇怪的行为(至少对我的大脑来说是这样):如果我在页面上放置两个控件,并尝试将其中一个数据表绑定到另一个,我会得到数据**

DashBoard2.DataSource = DashBoard1.dtFinalTable;
DashBoard2.DataBind();
我有几点建议:
您应该在Init事件处理程序中绑定网格。因此,如果您从ASPxGridView继承,您应该有如下内容:

公共类仪表板:FFASPxGridView{
公共仪表板(){
Init+=InitEventHandler;
}
public void InitEventHandler(){
Datasource=您的数据源;
数据绑定();
}
您可以在此处阅读有关使用Init/Event处理程序的更多信息:

如果创建用户控件,最好避免继承和包装包含控件的控件。创建CompositeControl并将网格添加到该控件集合。有关此操作的详细信息,请参见:

DashBoard2.DataSource = DashBoard1.dtFinalTable;
DashBoard2.DataBind();