如何将数据绑定到嵌套的DevExpress GridView控件?

时间:2012-08-23 15:44:03

标签: c# asp.net devexpress aspxgridview

我是DevExpress控件的新手,我遇到了一个主 - 详细网格视图的问题。

我正在使用DXperience-11.2。

我可以通过执行以下操作轻松地将对象绑定到父GridView:

var myObject = myObject.Retrieve(id);

parentGridView.DataSource = myObject;
parentGridView.DataBind();

我很难绑定到嵌套的子GridView。我正在使用以下代码(因为我之前使用过很多次嵌套的asp:Repeaters),但生成的var childGrid对象始终为null。

var childGrid = (ASPxGridView)parentGridView.FindControl("childGridView");

var myObject2 = myObject2.Retrieve(id);

childGrid.DataSource = myObject2;
childGrid .DataBind();

非常感谢任何帮助。

此致 克里斯

1 个答案:

答案 0 :(得分:0)

好的感谢您发布的建议,但我设法提出了解决方案。

我将以下事件添加到父网格视图...

OnBeforePerformDataSelect="detailGrid_DataSelect"

单击父网格视图中的行时会触发此事件。父网格视图行将展开并触发事件。

然后在我的代码后面我做了以下代码......

    protected void detailGrid_DataSelect(object sender, EventArgs e)
    {
        var myObject2 = myObject2.Retrieve(id);

        ASPxGridView grid = (sender as ASPxGridView);
        grid.DataSource = myObject2;
    }

首先,我检索了想要绑定到嵌套/子GridView的对象。然后将对象发送者强制转换为ASPxGridView对象并绑定我检索的数据对象。

我出错了,因为我试图在此事件中使用.FindControl方法找到嵌套的GridView控件,而实际上对象发送方是嵌套的GridView对象。

希望这能帮助那些和我一样腌菜的人!

克里斯