0

我是 DevExpress 控件的新手,并且遇到了主从网格视图的问题。

我正在使用 DXperience-11.2。

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

var myObject = myObject.Retrieve(id);

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

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

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

var myObject2 = myObject2.Retrieve(id);

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

任何帮助将不胜感激。

问候克里斯

4

1 回答 1

0

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

我将以下事件添加到父gridview ...

OnBeforePerformDataSelect="detailGrid_DataSelect"

当您单击父网格视图中的一行时会触发此事件。父 gridview 行展开并且事件触发。

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

    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 对象。

希望这对和我一样泡菜的人有所帮助!

克里斯

于 2012-08-24T16:29:33.550 回答