0

マスター テーブルと、マスターの下に 2 つの子ディテール テーブルがあります。ユーザーが詳細テーブルの 1 つを選択すると、RowSelection イベントが発生します。どのテーブルが選択されたかを判断する必要があります。ユーザーが 2 番目の詳細テーブルを選択した場合、特定のフィールドからデータを取得する必要があります。この決定を行うために配置できるコード。データを取得するためにこれまでに作成したコードを次に示します。必要なのは、このコードの周りに IF ステートメントを作成することだけです。

            String UploadIndex;

            if (e.CurrentSelectedRows.Count > 0)
            {

                GridRecord oRow = e.CurrentSelectedRows[0];

                UploadIndex = oRow.Items[0].Value.ToString();

            }

これを試してみましたが、保護レベルが原因で controlmain にアクセスできません。ContainerGrid oRowIsland = WebHierarchicalDataGrid1.GridView.Rows[e.CurrentSelectedRows[0].Index].RowIslands[0]; if (oRow.Owner.ControlMain.ID == '2') { UploadIndex = oRow.Items[0].Value.ToString(); }

4

1 に答える 1

2

oRow を宣言するときContainerGridRecordの代わりに type を使用します。このようにして、行を保持するグリッドにアクセスできます。デバッグで、関心のあるグリッドの ID を決定してから、次のことができますGridRecordoRow.Owner.ControlMain

If (oRow.Owner.ControlMain.ID == '...ID of second grid') {
   // profit
}

ControlMainまたは、グリッドの他の簡単に識別できるプロパティを使用して、2番目の詳細に関連付けます。

于 2013-05-08T19:04:35.947 に答える