0

私はDevExpressコントロールを初めて使用し、マスター/詳細グリッドビューに問題があります。

DXperience-11.2を使用しています。

次の手順を実行することで、オブジェクトを親のGridViewに簡単にバインドできます。

var myObject = myObject.Retrieve(id);

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

ネストされた子GridViewにバインドできません。私は次のコードを使用しています(ネストされたasp:Repeatersで以前に何度も使用したように)が、結果のvarchildGridオブジェクトは常にnullです。

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

var myObject2 = myObject2.Retrieve(id);

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

どんな助けでも大歓迎です。

よろしくクリス

4

1 に答える 1

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 オブジェクトにキャストし、取得したデータ オブジェクトをバインドします。

オブジェクトの送信者が実際にはネストされた GridView オブジェクトであるときに、このイベントで .FindControl メソッドを使用してネストされた GridView コントロールを見つけようとしたため、私は間違っていました。

これが私と同じピクルスにいた人の助けになることを願っています!

クリス

于 2012-08-24T16:29:33.550 に答える