1

Janus グリッドがあり、2 つの列があり、行が階層的な順序、つまり親行と子行で構成されているとします。グリッド内の列の 1 つがグループ化されます (グループ化ボックス内の列をグリッドの上にドラッグすることによって)。セルの内容が変更されたときに発生するセル変更イベントがあります。セル変更イベントでこれを行います。

Dim grid as GridEx = e.Column.GridEx 'e is of type ColumnActionEventArgs
Dim value as Object = grid.GetValue(e.Column)
Dim row as GridEXRow = grid.GetRow 'This is the parent row which has 2 child rows for example
...
Dim drCurrent As DataRow = CType(row.DataRow(), DataRowView).Row
drCurrent.Item(e.Column.DataMember) = value 'set the parent row column value

グループ化された列の親行の値を変更すると、子行がに設定されNothingます。上記のスニペットの最後の行の後に、 の子行がrowに設定されNothingます。一方、他の列の値を変更すると、この問題は発生しません (グループ別ボックスにはありません)。問題は、列をグループ化し、その値を変更しない場合にのみ発生します。なぜこれが起こっているのですか?

4

1 に答える 1

1

あなたが提供したコードサンプル...

このコードはどのグリッド イベントにありますか? CellValueChanged または CellEdited または何か他のもの?

コード サンプルの最後の 1 行ではなく、次の 3 行を試してみてください。

   row.BeginEdit()
   drCurrent.Item(e.Column.DataMember) = value 'set the parent row column value
   row.EndEdit()

それでも問題が解決しない場合は、使用している他のグリッド イベントに関する詳細情報を提供してください。

于 2012-05-14T21:20:21.877 に答える